| From 290fd33949340114ada9fb9da15993b16652a521 Mon Sep 17 00:00:00 2001 |
| From: Jinke Fan <fanjinke@hygon.cn> |
| Date: Wed, 13 Nov 2019 11:38:41 +0800 |
| Subject: [PATCH] HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse |
| |
| commit f1a0094cbbe97a5f8aca7bdc64bfe43ac9dc6879 upstream. |
| |
| The PixArt OEM mouse disconnets/reconnects every minute on |
| Linux. All contents of dmesg are repetitive: |
| |
| [ 1465.810014] usb 1-2.2: USB disconnect, device number 20 |
| [ 1467.431509] usb 1-2.2: new low-speed USB device number 21 using xhci_hcd |
| [ 1467.654982] usb 1-2.2: New USB device found, idVendor=03f0,idProduct=1f4a, bcdDevice= 1.00 |
| [ 1467.654985] usb 1-2.2: New USB device strings: Mfr=1, Product=2,SerialNumber=0 |
| [ 1467.654987] usb 1-2.2: Product: HP USB Optical Mouse |
| [ 1467.654988] usb 1-2.2: Manufacturer: PixArt |
| [ 1467.699722] input: PixArt HP USB Optical Mouse as /devices/pci0000:00/0000:00:07.1/0000:05:00.3/usb1/1-2/1-2.2/1-2.2:1.0/0003:03F0:1F4A.0012/input/input19 |
| [ 1467.700124] hid-generic 0003:03F0:1F4A.0012: input,hidraw0: USB HID v1.11 Mouse [PixArt HP USB Optical Mouse] on usb-0000:05:00.3-2.2/input0 |
| |
| So add HID_QUIRK_ALWAYS_POLL for this one as well. |
| Test the patch, the mouse is no longer disconnected and there are no |
| duplicate logs in dmesg. |
| |
| Reference: |
| https://github.com/sriemer/fix-linux-mouse |
| |
| Signed-off-by: Jinke Fan <fanjinke@hygon.cn> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h |
| index 0489c209a0b0..367972ca8d2e 100644 |
| --- a/drivers/hid/hid-ids.h |
| +++ b/drivers/hid/hid-ids.h |
| @@ -572,6 +572,7 @@ |
| #define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_094A 0x094a |
| #define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0941 0x0941 |
| #define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0641 0x0641 |
| +#define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_1f4a 0x1f4a |
| |
| #define USB_VENDOR_ID_HUION 0x256c |
| #define USB_DEVICE_ID_HUION_TABLET 0x006e |
| diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c |
| index efeeac5af633..3b64e297bfc9 100644 |
| --- a/drivers/hid/hid-quirks.c |
| +++ b/drivers/hid/hid-quirks.c |
| @@ -93,6 +93,7 @@ static const struct hid_device_id hid_quirks[] = { |
| { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_094A), HID_QUIRK_ALWAYS_POLL }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0941), HID_QUIRK_ALWAYS_POLL }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0641), HID_QUIRK_ALWAYS_POLL }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_1f4a), HID_QUIRK_ALWAYS_POLL }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_IDEACOM, USB_DEVICE_ID_IDEACOM_IDC6680), HID_QUIRK_MULTI_INPUT }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_INNOMEDIA, USB_DEVICE_ID_INNEX_GENESIS_ATARI), HID_QUIRK_MULTI_INPUT }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X), HID_QUIRK_MULTI_INPUT }, |
| -- |
| 2.7.4 |
| |