usb: pd: Prevent sending accept for DR_SWAP after timeout
In a scenario where the device has failed to send ACCEPT
for a DR_SWAP request within tSenderResponse, it's port
partner does not swap it's own role. But this device goes
ahead and sends ACCEPT and also swaps it's data role
leading to an invalid state where both the port partners
are in the same data role. And the port partner treats
this ACCEPT as an invalid message and issues a soft
reset.
Fix this by not sending an ACCEPT after the tSenderResponse
(with a buffer) from receiving a DR_SWAP request and
preventing from switching the data role.
Change-Id: I77a48acd876459b64b97ae18515069ae6218e8b6
Signed-off-by:
Sriharsha Allenki <sallenki@codeaurora.org>
Loading
Please register or sign in to comment