thunderbolt: CLx disable before system suspend only if previously enabled
authorGil Fine <gil.fine@intel.com>
Thu, 26 May 2022 10:59:17 +0000 (13:59 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 6 Jun 2022 09:19:23 +0000 (12:19 +0300)
Disable CLx before system suspended only if previously was enabled.

Signed-off-by: Gil Fine <gil.fine@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/switch.c

index 561e1d7..0395229 100644 (file)
@@ -3134,8 +3134,10 @@ void tb_switch_suspend(struct tb_switch *sw, bool runtime)
         * Actually only needed for Titan Ridge but for simplicity can be
         * done for USB4 device too as CLx is re-enabled at resume.
         */
-       if (tb_switch_disable_clx(sw, TB_CL0S))
-               tb_sw_warn(sw, "failed to disable CLx on upstream port\n");
+       if (tb_switch_is_clx_enabled(sw)) {
+               if (tb_switch_disable_clx(sw, TB_CL0S))
+                       tb_sw_warn(sw, "failed to disable CLx on upstream port\n");
+       }
 
        err = tb_plug_events_active(sw, false);
        if (err)