public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "James D. Turner" <linuxkernel.foss@dmarc-none.turner.link>
To: linux-kernel@vger.kernel.org
Cc: "Jiri Kosina" <jikos@kernel.org>,
	"Benjamin Tissoires" <benjamin.tissoires@redhat.com>,
	linux-input@vger.kernel.org, stable@vger.kernel.org
Subject: [PATCH] HID: holtek-mouse: start hardware in probe
Date: Tue, 21 Dec 2021 21:21:41 -0500	[thread overview]
Message-ID: <875yrgf05r.fsf@turner.link> (raw)

The holtek_mouse_probe() function is missing the necessary code to
start the hardware. When an Etekcity Scroll X1 (M555) USB mouse is
plugged in, the mouse receives power and the kernel recognizes it as a
USB device, but the system does not respond to any movement, clicking,
or scrolling of the mouse. Presumably, this bug also affects all other
mice supported by the hid-holtek-mouse driver, although this has not
been tested. On the stable linux-5.15.y branch, testing confirms that
the bug was introduced in commit a579510a64ed ("HID: check for valid
USB device for many HID drivers"), which was first included in
v5.15.8. Based on the source code, this bug appears to be present in
all currently-supported kernels (mainline, stable, and all LTS
kernels). Testing on hardware confirms that this proposed patch fixes
the bug for kernel v5.15.10. Fix holtek_mouse_probe() to call the
necessary functions to start the hardware.

Fixes: 93020953d0fa ("HID: check for valid USB device for many HID drivers")
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: James D. Turner <linuxkernel.foss@dmarc-none.turner.link>
---
This is my first time submitting a kernel patch. I think I've followed
all the directions, but please let me know if I should do something
differently.

In addition to testing this patch for the stable v5.15.10 kernel on real
hardware, I also tested it for the latest master of the hid repository
(commit 03090cc76ee3 ("Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid")) using a VM with
USB passthrough.

 drivers/hid/hid-holtek-mouse.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/hid/hid-holtek-mouse.c b/drivers/hid/hid-holtek-mouse.c
index b7172c48ef..29e41c97ec 100644
--- a/drivers/hid/hid-holtek-mouse.c
+++ b/drivers/hid/hid-holtek-mouse.c
@@ -65,9 +65,16 @@ 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;
-	return 0;
+
+	ret = hid_parse(hdev);
+	if (!ret)
+		ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
+
+	return ret;
 }
 
 static const struct hid_device_id holtek_mouse_devices[] = {

base-commit: 03090cc76ee3298cc70bce26bbe93a0cb50e42a2
-- 
2.34.1


             reply	other threads:[~2021-12-23  3:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-22  2:21 James D. Turner [this message]
2021-12-23  7:04 ` [PATCH] HID: holtek-mouse: start hardware in probe Greg KH
2021-12-23 10:26   ` Jim Turner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875yrgf05r.fsf@turner.link \
    --to=linuxkernel.foss@dmarc-none.turner.link \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jikos@kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox