]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - drivers/usb/typec/tcpm/tcpm.c
Merge tag 'usb-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[thirdparty/linux.git] / drivers / usb / typec / tcpm / tcpm.c
index 3d505614bff1ea12bd9c95028d671cf58c904ac4..ae2b6c94482d5fab23f26be2b12491a52b15419d 100644 (file)
@@ -5605,8 +5605,11 @@ static void run_state_machine(struct tcpm_port *port)
                break;
        case PORT_RESET:
                tcpm_reset_port(port);
-               tcpm_set_cc(port, tcpm_default_state(port) == SNK_UNATTACHED ?
-                           TYPEC_CC_RD : tcpm_rp_cc(port));
+               if (port->self_powered)
+                       tcpm_set_cc(port, TYPEC_CC_OPEN);
+               else
+                       tcpm_set_cc(port, tcpm_default_state(port) == SNK_UNATTACHED ?
+                                   TYPEC_CC_RD : tcpm_rp_cc(port));
                tcpm_set_state(port, PORT_RESET_WAIT_OFF,
                               PD_T_ERROR_RECOVERY);
                break;