]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: typec: tcpm: set SRC_SEND_CAPABILITIES timeout to PD_T_SENDER_RESPONSE
authorJos Wang <joswang@lenovo.com>
Sun, 5 Jan 2025 13:52:45 +0000 (21:52 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:50:16 +0000 (12:50 +0100)
commit 2eb3da037c2c20fa30bc502bc092479b2a1aaae2 upstream.

As PD2.0 spec ("8.3.3.2.3 PE_SRC_Send_Capabilities state"), after the
Source receives the GoodCRC Message from the Sink in response to the
Source_Capabilities message, it should start the SenderResponseTimer,
after the timer times out, the state machine transitions to the
HARD_RESET state.

Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)")
Cc: stable@vger.kernel.org
Signed-off-by: Jos Wang <joswang@lenovo.com>
Reviewed-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20250105135245.7493-1-joswang1221@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tcpm/tcpm.c

index 2104bb6e61f5980f9bf41462a304e82f0b8fc2c6..55898fd7def8961c2a3e1bc892978949fac021e1 100644 (file)
@@ -4042,7 +4042,7 @@ static void run_state_machine(struct tcpm_port *port)
                        port->caps_count = 0;
                        port->pd_capable = true;
                        tcpm_set_state_cond(port, SRC_SEND_CAPABILITIES_TIMEOUT,
-                                           PD_T_SEND_SOURCE_CAP);
+                                           PD_T_SENDER_RESPONSE);
                }
                break;
        case SRC_SEND_CAPABILITIES_TIMEOUT: