mbox series

[v2,0/2] Fix some VDM AMS handling

Message ID 20210523015855.1785484-1-kyletso@google.com
Headers show
Series Fix some VDM AMS handling | expand

Message

Kyle Tso May 23, 2021, 1:58 a.m. UTC
Changes since v1:
-----------------
usb: typec: tcpm: Properly interrupt VDM AMS
- fix the bug reported by "kernel test robot <lkp@intel.com>"
- add Reviewed-by: tag from Guenter

usb: typec: tcpm: Respond Not_Supported if no snk_vdo
- no changes in code
- add Reviewed-by: tag from Guenter

v1 cover letter:
----------------
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(-)