Hi,
On 12/17/21 08:00, Thorsten Leemhuis wrote:
Hi, this is your Linux kernel regression tracker speaking.
I noticed a bugreport from Tomasz C. (CCed) that sounds a lot like a
regression between v5.15.7..v5.15.8 and likely better dealt with by email:
To quote from: https://bugzilla.kernel.org/show_bug.cgi?id=215341
After updating kernel from 5.15.7 to 5.15.8 on ArchLinux distribution, Holtek USB mouse stopped working.
Exact model:
04d9:a067 Holtek Semiconductor, Inc. USB Gaming Mouse
The dmesg output for this device from kernel version 5.15.8:
[ 2.501958] usb 2-1.2.3: new full-speed USB device number 6 using ehci-pci
[ 2.624369] usb 2-1.2.3: New USB device found, idVendor=04d9, idProduct=a067, bcdDevice= 1.16
[ 2.624376] usb 2-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.624379] usb 2-1.2.3: Product: USB Gaming Mouse
[ 2.624382] usb 2-1.2.3: Manufacturer: Holtek
After disconnecting and connecting the USB:
[ 71.976731] usb 2-1.2.3: USB disconnect, device number 6
[ 75.013021] usb 2-1.2.3: new full-speed USB device number 8 using ehci-pci
[ 75.135865] usb 2-1.2.3: New USB device found, idVendor=04d9, idProduct=a067, bcdDevice= 1.16
[ 75.135873] usb 2-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 75.135877] usb 2-1.2.3: Product: USB Gaming Mouse
[ 75.135880] usb 2-1.2.3: Manufacturer: Holtek
On kernel version 5.15.7:
[ 2.280515] usb 2-1.2.3: new full-speed USB device number 6 using ehci-pci
[ 2.379777] usb 2-1.2.3: New USB device found, idVendor=04d9, idProduct=a067, bcdDevice= 1.16
[ 2.379784] usb 2-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.379787] usb 2-1.2.3: Product: USB Gaming Mouse
[ 2.379790] usb 2-1.2.3: Manufacturer: Holtek
[ 2.398578] input: Holtek USB Gaming Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.3/2-1.2.3:1.0/0003:04D9:A067.0005/input/input11
[ 2.450977] holtek_mouse 0003:04D9:A067.0005: input,hidraw4: USB HID v1.10 Keyboard [Holtek USB Gaming Mouse] on usb-0000:00:1d.0-1.2.3/input0
[ 2.451013] holtek_mouse 0003:04D9:A067.0006: Fixing up report descriptor
[ 2.452189] input: Holtek USB Gaming Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.3/2-1.2.3:1.1/0003:04D9:A067.0006/input/input12
[ 2.468510] usb 2-1.2.4: new high-speed USB device number 7 using ehci-pci
[ 2.503913] holtek_mouse 0003:04D9:A067.0006: input,hiddev96,hidraw5: USB HID v1.10 Mouse [Holtek USB Gaming Mouse] on usb-0000:00:1d.0-1.2.3/input1
[ 2.504105] holtek_mouse 0003:04D9:A067.0007: hiddev97,hidraw6: USB HID v1.10 Device [Holtek USB Gaming Mouse] on usb-0000:00:1d.0-1.2.3/input2
Rolling back the kernel to version 5.15.7 solves the problem.
Oops, sorry. An overlook from a precedent commit.
Can you confirm the following patch works? (and also tell me if the
links I put are sufficient for regzbot)
---
rom 8f38596f2620c4b22ff9e2622917ac2b69aa8320 Mon Sep 17 00:00:00 2001
From: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
Date: Fri, 17 Dec 2021 09:03:32 +0100
Subject: [PATCH] HID: holtek: fix mouse probing
An overlook from the previous commit: we don't even parse or start the
device, meaning that the device is not presented to user space.
Fixes: 93020953d0fa ("HID: check for valid USB device for many HID drivers")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=215341
Link: https://lore.kernel.org/regressions/e4efbf13-bd8d-0370-629b-6c80c0044b15@xxxxxxxxxxxxx/
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
---
drivers/hid/hid-holtek-mouse.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/hid/hid-holtek-mouse.c b/drivers/hid/hid-holtek-mouse.c
index b7172c48ef9f..7c907939bfae 100644
--- a/drivers/hid/hid-holtek-mouse.c
+++ b/drivers/hid/hid-holtek-mouse.c
@@ -65,8 +65,23 @@ static __u8 *holtek_mouse_report_fixup(struct hid_device *hdev, __u8 *rdesc,
static int holtek_mouse_probe(struct hid_device *hdev,
const struct hid_device_id *id)
{
+ int ret;
+
if (!hid_is_usb(hdev))
return -EINVAL;
+
+ ret = hid_parse(hdev);
+ if (ret) {
+ hid_err(hdev, "hid parse failed: %d\n", ret);
+ return ret;
+ }
+
+ ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
+ if (ret) {
+ hid_err(hdev, "hw start failed: %d\n", ret);
+ return ret;
+ }
+
return 0;
}
--
2.31.1
---
Cheers,
Benjamin
[TLDR for the rest of the mail: adding this regression to regzbot; most
text you find below is compiled from a few templates paragraphs some of
you might have seen already.]
To be sure this issue doesn't fall through the cracks unnoticed, I'm
adding it to regzbot, my Linux kernel regression tracking bot:
#regzbot introduced v5.15.7..v5.15.8
#regzbot title usb: Holtek mouse stopped working
Reminder: when fixing the issue, please add a 'Link:' tag with the URL
to this report and the bugzilla ticket, then regzbot will automatically
mark the regression as resolved once the fix lands in the appropriate
tree. For more details about regzbot see footer.
Ciao, Thorsten (wearing his 'Linux kernel regression tracker' hat).
P.S.: As a Linux kernel regression tracker I'm getting a lot of reports
on my table. I can only look briefly into most of them. Unfortunately
therefore I sometimes will get things wrong or miss something important.
I hope that's not the case here; if you think it is, don't hesitate to
tell me about it in a public reply. That's in everyone's interest, as
what I wrote above might be misleading to everyone reading this; any
suggestion I gave thus might sent someone reading this down the wrong
rabbit hole, which none of us wants.
BTW, I have no personal interest in this issue, which is tracked using
regzbot, my Linux kernel regression tracking bot
(https://linux-regtracking.leemhuis.info/regzbot/). I'm only posting
this mail to get things rolling again and hence don't need to be CC on
all further activities wrt to this regression.