mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
usb: gadget: hid: don't STALL when processing a HID Descriptor request
This is a patch to fix an issue with the HID gadget which, at the moment, returns STALL on a HID descriptor request. Essentially, the patch changes the hid gadget such that a request for the HID descriptor is handled by copying the descriptor into the response buffer, rather than falling through the default case, in which the request is answered by a STALL. Signed-off-by: Sebastian Bauer <[email protected]> Acked-by: Peter Korsgaard <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
This commit is contained in:
parent
b61ae34270
commit
c240d78a8f
1 changed files with 7 additions and 0 deletions
|
|
@ -367,6 +367,13 @@ static int hidg_setup(struct usb_function *f,
|
|||
case ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8
|
||||
| USB_REQ_GET_DESCRIPTOR):
|
||||
switch (value >> 8) {
|
||||
case HID_DT_HID:
|
||||
VDBG(cdev, "USB_REQ_GET_DESCRIPTOR: HID\n");
|
||||
length = min_t(unsigned short, length,
|
||||
hidg_desc.bLength);
|
||||
memcpy(req->buf, &hidg_desc, length);
|
||||
goto respond;
|
||||
break;
|
||||
case HID_DT_REPORT:
|
||||
VDBG(cdev, "USB_REQ_GET_DESCRIPTOR: REPORT\n");
|
||||
length = min_t(unsigned short, length,
|
||||
|
|
|
|||
Loading…
Reference in a new issue