mbox series

[0/2] Fix some VDM AMS handling

Message ID 20210521130121.1470334-1-kyletso@google.com (mailing list archive)
Headers show
Series Fix some VDM AMS handling | expand

Message

Kyle Tso May 21, 2021, 1:01 p.m. UTC
usb: typec: tcpm: Properly interrupt VDM AMS
- If VDM AMS is interrupted by Messages other than VDM, the current VDM
  AMS should be finished before handling the just arrived request. I add
  intercept code in the beginning of the handler of the three types of
  requests (control/data/extended) to ensure that the AMS is finished
  first.

usb: typec: tcpm: Respond Not_Supported if no snk_vdo
- The snk_vdo is for the responses to incoming VDM Discover Identity. If
  there is no data in snk_vdo, it means that the port doesn't even
  support it. According to PD3 Spec "Table 6-64 Response to an incoming
  VDM", the port should send Not_Supported Message as the response. For
  PD2 cases, it is defined in PD2 Spec "Table 6-41 Applicability of
  Structured VDM Commands - Note 3" that the port should "Ignore" the
  command.

Kyle Tso (2):
  usb: typec: tcpm: Properly interrupt VDM AMS
  usb: typec: tcpm: Respond Not_Supported if no snk_vdo

 drivers/usb/typec/tcpm/tcpm.c | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)