Messages in this thread | | | Date | Thu, 26 Aug 2021 13:48:45 +0200 | From | Greg KH <> | Subject | Re: [PATCH] usb: typec: tcpm: Raise vdm_sm_running flag only when VDM SM is running |
| |
On Mon, Aug 16, 2021 at 03:54:49PM +0800, Kyle Tso wrote: > If the port is going to send Discover_Identity Message, vdm_sm_running > flag was intentionally set before entering Ready States in order to > avoid the conflict because the port and the port partner might start > AMS at almost the same time after entering Ready States. > > However, the original design has a problem. When the port is doing > DR_SWAP from Device to Host, it raises the flag. Later in the > tcpm_send_discover_work, the flag blocks the procedure of sending the > Discover_Identity and it might never be cleared until disconnection. > > Since there exists another flag send_discover representing that the port > is going to send Discover_Identity or not, it is enough to use that flag > to prevent the conflict. Also change the timing of the set/clear of > vdm_sm_running to indicate whether the VDM SM is actually running or > not. > > Fixes: c34e85fa69b9 ("usb: typec: tcpm: Send DISCOVER_IDENTITY from dedicated work") > Cc: Badhri Jagan Sridharan <badhri@google.com> > Signed-off-by: Kyle Tso <kyletso@google.com> > --- > drivers/usb/typec/tcpm/tcpm.c | 81 ++++++++++++++++------------------- > 1 file changed, 38 insertions(+), 43 deletions(-)
This does not apply to my usb-linus branch :(
Please rebase and resend, collecting the acks that others have done.
thanks,
greg k-h
| |