diff options
| author | Pavankumar Kondeti <pkondeti@codeaurora.org> | 2013-06-19 09:51:58 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:02:40 -0700 |
| commit | ab4128452749bd89dbabf285ecf0fadd9939e497 (patch) | |
| tree | 58221a5aa5cc890d4072c836dd28272ea7ecfbe2 /include/linux | |
| parent | 0f238241f212f182725195beabd91f8044b323d4 (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
