On Tue, 12 Dec 2023, Mikhail Khvainitski wrote: > Commit 46a0a2c96f0f ("HID: lenovo: Detect quirk-free fw on cptkbd and > stop applying workaround") introduced a regression for ThinkPad > TrackPoint Keyboard II which has similar quirks to cptkbd (so it uses > the same workarounds) but slightly different so that there are > false-positives during detecting well-behaving firmware. This commit > restricts detecting well-behaving firmware to the only model which > known to have one and have stable enough quirks to not cause > false-positives. > > Fixes: 46a0a2c96f0f ("HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround") > Link: https://lore.kernel.org/linux-input/ZXRiiPsBKNasioqH@jekhomev/ > Link: https://bbs.archlinux.org/viewtopic.php?pid=2135468#p2135468 > Signed-off-by: Mikhail Khvainitski <me@xxxxxxxxxxxxxxx> > Tested-by: Yauhen Kharuzhy <jekhor@xxxxxxxxx> > --- > drivers/hid/hid-lenovo.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c > index 7c1b33be9d13..149a3c74346b 100644 > --- a/drivers/hid/hid-lenovo.c > +++ b/drivers/hid/hid-lenovo.c > @@ -692,7 +692,8 @@ static int lenovo_event_cptkbd(struct hid_device *hdev, > * so set middlebutton_state to 3 > * to never apply workaround anymore > */ > - if (cptkbd_data->middlebutton_state == 1 && > + if (hdev->product == USB_DEVICE_ID_LENOVO_CUSBKBD && > + cptkbd_data->middlebutton_state == 1 && > usage->type == EV_REL && > (usage->code == REL_X || usage->code == REL_Y)) { > cptkbd_data->middlebutton_state = 3; Applied, thanks. -- Jiri Kosina SUSE Labs