diff options
| author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-21 09:14:55 +0100 |
|---|---|---|
| committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-21 09:14:55 +0100 |
| commit | db8c076b9206ea35b1f7299708d5510b17674db2 (patch) | |
| tree | 7a5ee32db0c25bb29598c7c300ce7f2680f533a9 /drivers/hid/usbhid/hid-core.c | |
| parent | af6261031317f646d22f994c0b467521e47aa49f (diff) | |
| parent | b30a3f6257ed2105259b404d419b4964e363928c (diff) | |
Merge remote branch 'linus' into drm-intel-fixes
Diffstat (limited to 'drivers/hid/usbhid/hid-core.c')
| -rw-r--r-- | drivers/hid/usbhid/hid-core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index b729c028667..599041a7f67 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -828,6 +828,7 @@ static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf, size_t co } } else { int skipped_report_id = 0; + int report_id = buf[0]; if (buf[0] == 0x0) { /* Don't send the Report ID */ buf++; @@ -837,7 +838,7 @@ static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf, size_t co ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), HID_REQ_SET_REPORT, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, - ((report_type + 1) << 8) | *buf, + ((report_type + 1) << 8) | report_id, interface->desc.bInterfaceNumber, buf, count, USB_CTRL_SET_TIMEOUT); /* count also the report id, if this was a numbered report. */ @@ -1445,6 +1446,11 @@ static const struct hid_device_id hid_usb_table[] = { { } }; +struct usb_interface *usbhid_find_interface(int minor) +{ + return usb_find_interface(&hid_driver, minor); +} + static struct hid_driver hid_usb_driver = { .name = "generic-usb", .id_table = hid_usb_table, |
