]> 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>
Sat, 8 Feb 2025 09:02:22 +0000 (10:02 +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 6021eeb903fec53316dfa2d6b825c334d55b7cab..d60127ad200ad651278dd9594a57eb62bc5b181b 100644 (file)
@@ -4772,7 +4772,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: