Message ID | 1455293437-12088-1-git-send-email-benjamin.tissoires@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 12 Feb 2016, Benjamin Tissoires wrote: > hid_ignore_special_drivers works fine until hid_scan_report > autodetects and reassign devices (for hid-multitouch, > hid-microsoft and hid-rmi). > > Simplify the handling of the parameter: if it is there, use > hid-generic, no matter what, and if not, scan the device or > rely on the hid_have_special_driver table. > > This was detected while trying to disable hid-multitouch on > a Surface Pro cover which prevented to use the keyboard. > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > CC: stable@vger.kernel.org > --- > > Hi Jiri, > > not sure if we should keep or not the stable@ tag. The issue was there for a > long time, and nobody complained. It's up to you. I've now applied it to for-4.5/upstream-fixes, but will wait if there is any other more important fix that'd trigger the push of this branch to Linus; otherwise it'll go in the merge window pile and will get backported to -stable later. Thanks,
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index e637e4f..fe8be16 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -2661,9 +2661,10 @@ int hid_add_device(struct hid_device *hdev) /* * Scan generic devices for group information */ - if (hid_ignore_special_drivers || - (!hdev->group && - !hid_match_id(hdev, hid_have_special_driver))) { + if (hid_ignore_special_drivers) { + hdev->group = HID_GROUP_GENERIC; + } else if (!hdev->group && + !hid_match_id(hdev, hid_have_special_driver)) { ret = hid_scan_report(hdev); if (ret) hid_warn(hdev, "bad device descriptor (%d)\n", ret);
hid_ignore_special_drivers works fine until hid_scan_report autodetects and reassign devices (for hid-multitouch, hid-microsoft and hid-rmi). Simplify the handling of the parameter: if it is there, use hid-generic, no matter what, and if not, scan the device or rely on the hid_have_special_driver table. This was detected while trying to disable hid-multitouch on a Surface Pro cover which prevented to use the keyboard. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> CC: stable@vger.kernel.org --- Hi Jiri, not sure if we should keep or not the stable@ tag. The issue was there for a long time, and nobody complained. It's up to you. Cheers, Benjamin drivers/hid/hid-core.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)