summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPavankumar Kondeti <pkondeti@codeaurora.org>2013-06-19 09:51:58 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:02:40 -0700
commitab4128452749bd89dbabf285ecf0fadd9939e497 (patch)
tree58221a5aa5cc890d4072c836dd28272ea7ecfbe2 /include/linux
parent0f238241f212f182725195beabd91f8044b323d4 (diff)
usb: gadget: composite: Fix a bug in delayed status handling
The SET_CONFIGURATION control request's status phase is delayed till the new config change is handled by the file-storage thread. If the cable is disconnected or the bus is reset before the previous config is handled, then composite driver is not notified about the delayed status. As a result of which, the delayed_status field of composite device structure remains non-zero. The status phase of next SET_CONFIGURATION control request is not sent. This makes the gadget unusable. Calling usb_composite_setup_continue() after the disconnect or reset does not make any sense. If the host sends another control request before the status phase of the previous control request is sent, the delayed_status must be reset to zero. This is not straight forward as the UDC handles some control requests without delegating them to the composite driver. A simple fix would be resetting the delayed status value after the disconnect/reset. CRs-Fixed: 501527 Change-Id: I67c832afc88c9e7d025247e539b7223fd83644d7 Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions