Revert "HID: microsoft: fix invalid rdesc for 3k kbd"
authorMichel Hermier <michel.hermier@gmail.com>
Tue, 20 Sep 2016 17:50:51 +0000 (19:50 +0200)
committerJiri Kosina <jkosina@suse.cz>
Mon, 26 Sep 2016 11:47:12 +0000 (13:47 +0200)
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>
drivers/hid/hid-microsoft.c

index e924d555536cf7fb1b221af4c15e51112df107c8..3b2f7023bab6bca9b71017525aedf699debad161 100644 (file)
@@ -28,7 +28,6 @@
 #define MS_RDESC               0x08
 #define MS_NOGET               0x10
 #define MS_DUPLICATE_USAGES    0x20
-#define MS_RDESC_3K            0x40
 
 static __u8 *ms_report_fixup(struct hid_device *hdev, __u8 *rdesc,
                unsigned int *rsize)
@@ -45,13 +44,6 @@ static __u8 *ms_report_fixup(struct hid_device *hdev, __u8 *rdesc,
                rdesc[557] = 0x35;
                rdesc[559] = 0x45;
        }
-       /* the same as above (s/usage/physical/) */
-       if ((quirks & MS_RDESC_3K) && *rsize == 106 && rdesc[94] == 0x19 &&
-                       rdesc[95] == 0x00 && rdesc[96] == 0x29 &&
-                       rdesc[97] == 0xff) {
-               rdesc[94] = 0x35;
-               rdesc[96] = 0x45;
-       }
        return rdesc;
 }
 
@@ -271,7 +263,7 @@ static const struct hid_device_id ms_devices[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB),
                .driver_data = MS_PRESENTER },
        { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K),
-               .driver_data = MS_ERGONOMY | MS_RDESC_3K },
+               .driver_data = MS_ERGONOMY },
        { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K),
                .driver_data = MS_ERGONOMY },
        { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600),