mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
usb: typec: tcpm: Disregard vbus off while in PR_SWAP_SNK_SRC_SOURCE_ON
During PR_SWAP sequence, when TCPM is waiting in PR_SWAP_SNK_SRC_SOURCE_ON for the vbus source to ramp up, TCPM would prematurely exit PR_SWAP_SNK_SRC_SOURCE_ON and transition to SNK_UNATTACHED state when a vbus off notification is received. This should not be the case as vbus can still be off while in PR_SWAP_SNK_SRC_SOURCE_ON and the vbus source has PD_T_NEWSRC to ramp up. Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Badhri Jagan Sridharan <badhri@google.com> Link: https://lore.kernel.org/r/20201125020703.1604979-1-badhri@google.com Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2e70c495ca
commit
7abc6ca5dc
@ -4218,6 +4218,14 @@ static void _tcpm_pd_vbus_off(struct tcpm_port *port)
|
||||
/* Do nothing, expected */
|
||||
break;
|
||||
|
||||
case PR_SWAP_SNK_SRC_SOURCE_ON:
|
||||
/*
|
||||
* Do nothing when vbus off notification is received.
|
||||
* TCPM can wait for PD_T_NEWSRC in PR_SWAP_SNK_SRC_SOURCE_ON
|
||||
* for the vbus source to ramp up.
|
||||
*/
|
||||
break;
|
||||
|
||||
case PORT_RESET_WAIT_OFF:
|
||||
tcpm_set_state(port, tcpm_default_state(port), 0);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user