diff options
author | Michel Hermier <michel.hermier@gmail.com> | 2016-09-20 13:50:51 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2016-09-26 07:47:12 -0400 |
commit | 52dc085a50c6b4b8143087ce194d0b193cb3662d (patch) | |
tree | 3eab2251e245d91958460d5c6e05a6de8e0bff15 | |
parent | 1989dada7ce07848196991c9ebf25ff9c5f14d4e (diff) |
Revert "HID: microsoft: fix invalid rdesc for 3k kbd"
This reverts commit 3ccc60f9d8c39180c205dba1a020735bda1b2491.
While investigating bug https://bugzilla.kernel.org/show_bug.cgi?id=37982 ,
there was solid evidences that Microsoft reused the same report
descriptor for the its Digital Media keyboard series.
Since 1989dad "HID: input: ignore System Control application usages if not
System Controls", the keyboard series do not produce a spurious joystick
input device inode without needing to patch the problematic report
descriptor. As such the MS_RDESC_3K reportdescriptor fixup can be removed.
Signed-off-by: Michel Hermier <michel.hermier@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hid-microsoft.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c index e924d555536c..3b2f7023bab6 100644 --- a/drivers/hid/hid-microsoft.c +++ b/drivers/hid/hid-microsoft.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #define MS_RDESC 0x08 | 28 | #define MS_RDESC 0x08 |
29 | #define MS_NOGET 0x10 | 29 | #define MS_NOGET 0x10 |
30 | #define MS_DUPLICATE_USAGES 0x20 | 30 | #define MS_DUPLICATE_USAGES 0x20 |
31 | #define MS_RDESC_3K 0x40 | ||
32 | 31 | ||
33 | static __u8 *ms_report_fixup(struct hid_device *hdev, __u8 *rdesc, | 32 | static __u8 *ms_report_fixup(struct hid_device *hdev, __u8 *rdesc, |
34 | unsigned int *rsize) | 33 | unsigned int *rsize) |
@@ -45,13 +44,6 @@ static __u8 *ms_report_fixup(struct hid_device *hdev, __u8 *rdesc, | |||
45 | rdesc[557] = 0x35; | 44 | rdesc[557] = 0x35; |
46 | rdesc[559] = 0x45; | 45 | rdesc[559] = 0x45; |
47 | } | 46 | } |
48 | /* the same as above (s/usage/physical/) */ | ||
49 | if ((quirks & MS_RDESC_3K) && *rsize == 106 && rdesc[94] == 0x19 && | ||
50 | rdesc[95] == 0x00 && rdesc[96] == 0x29 && | ||
51 | rdesc[97] == 0xff) { | ||
52 | rdesc[94] = 0x35; | ||
53 | rdesc[96] = 0x45; | ||
54 | } | ||
55 | return rdesc; | 47 | return rdesc; |
56 | } | 48 | } |
57 | 49 | ||
@@ -271,7 +263,7 @@ static const struct hid_device_id ms_devices[] = { | |||
271 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB), | 263 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB), |
272 | .driver_data = MS_PRESENTER }, | 264 | .driver_data = MS_PRESENTER }, |
273 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K), | 265 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K), |
274 | .driver_data = MS_ERGONOMY | MS_RDESC_3K }, | 266 | .driver_data = MS_ERGONOMY }, |
275 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K), | 267 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K), |
276 | .driver_data = MS_ERGONOMY }, | 268 | .driver_data = MS_ERGONOMY }, |
277 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600), | 269 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600), |