Re: [GIT PULL] HID for 4.11

From: Linus Torvalds
Date: Mon Feb 20 2017 - 23:39:17 EST


On Mon, Feb 20, 2017 at 8:13 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hmm. It's commit 279967a65b32 ("HID: rmi: Handle all Synaptics
> touchpads using hid-rmi").
>
> And the reason seems to be stupid: I don't have RMI enabled at all,
> because that didn't use to work or make a difference.
>
> Maybe that "let's use RMI" code should depend on RMI actually being
> enabled? Because as-is, that code now breaks existing configurations.

Yeah, so enabling HID_RMI makes my touchpad work again.

But this really was a stupid waste of time, and I really think that
the synaptics code should leave the HID group as generic or
multitouch-win8 _unless_ the HID RMI support is actually enabled.

IOW, something like the attached (untested) patch, perhaps?

Linus
drivers/hid/hid-core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 538ff697a4cf..41c88c50a96b 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -821,7 +821,8 @@ static int hid_scan_report(struct hid_device *hid)
case USB_VENDOR_ID_SYNAPTICS:
if (hid->group == HID_GROUP_GENERIC ||
hid->group == HID_GROUP_MULTITOUCH_WIN_8)
- if ((parser->scan_flags & HID_SCAN_FLAG_VENDOR_SPECIFIC)
+ if (IS_ENABLED(CONFIG_HID_RMI)
+ && (parser->scan_flags & HID_SCAN_FLAG_VENDOR_SPECIFIC)
&& (parser->scan_flags & HID_SCAN_FLAG_GD_POINTER))
/*
* hid-rmi should take care of them,