aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarod Wilson <jarod@redhat.com>2009-07-31 10:56:36 -0400
committerJiri Kosina <jkosina@suse.cz>2009-08-08 05:55:46 -0400
commit31f7fd795d17b264c3c05e4a976f963012c17c68 (patch)
tree8308821218125b70193672f39d2de06f76fe33a6
parent3040c8203d68a9a0564af81729085054fd6b5b03 (diff)
HID: ignore all recent SoundGraph iMON devices
After some inspection of the Windows iMON driver, several additional device IDs were added to the lirc_imon driver. At least a few of these have been seen in the wild, and require manual quirking to keep the usbhid driver from binding to them. Rather than list out every single device, ignore the entire device ID range, 0x0034 - 0x0046. Some of these may not advertise themselves as HID devices, but no harm done to such devices anyway. Does the right thing in brief testing w/my 0x0045 device. Signed-off-by: Jarod Wilson <jarod@redhat.com> Acked-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-core.c10
-rw-r--r--drivers/hid/hid-ids.h7
2 files changed, 7 insertions, 10 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 6164ed3a4143..afb6a3baade6 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1627,11 +1627,6 @@ static const struct hid_device_id hid_ignore_list[] = {
1627 { HID_USB_DEVICE(USB_VENDOR_ID_PANJIT, 0x0003) }, 1627 { HID_USB_DEVICE(USB_VENDOR_ID_PANJIT, 0x0003) },
1628 { HID_USB_DEVICE(USB_VENDOR_ID_PANJIT, 0x0004) }, 1628 { HID_USB_DEVICE(USB_VENDOR_ID_PANJIT, 0x0004) },
1629 { HID_USB_DEVICE(USB_VENDOR_ID_POWERCOM, USB_DEVICE_ID_POWERCOM_UPS) }, 1629 { HID_USB_DEVICE(USB_VENDOR_ID_POWERCOM, USB_DEVICE_ID_POWERCOM_UPS) },
1630 { HID_USB_DEVICE(USB_VENDOR_ID_SOUNDGRAPH, USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD) },
1631 { HID_USB_DEVICE(USB_VENDOR_ID_SOUNDGRAPH, USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD2) },
1632 { HID_USB_DEVICE(USB_VENDOR_ID_SOUNDGRAPH, USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD3) },
1633 { HID_USB_DEVICE(USB_VENDOR_ID_SOUNDGRAPH, USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD4) },
1634 { HID_USB_DEVICE(USB_VENDOR_ID_SOUNDGRAPH, USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD5) },
1635 { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY1) }, 1630 { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY1) },
1636 { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY2) }, 1631 { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY2) },
1637 { HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) }, 1632 { HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) },
@@ -1698,6 +1693,11 @@ static bool hid_ignore(struct hid_device *hdev)
1698 hdev->product <= USB_DEVICE_ID_LOGITECH_HARMONY_LAST) 1693 hdev->product <= USB_DEVICE_ID_LOGITECH_HARMONY_LAST)
1699 return true; 1694 return true;
1700 break; 1695 break;
1696 case USB_VENDOR_ID_SOUNDGRAPH:
1697 if (hdev->product >= USB_DEVICE_ID_SOUNDGRAPH_IMON_FIRST &&
1698 hdev->product <= USB_DEVICE_ID_SOUNDGRAPH_IMON_LAST)
1699 return true;
1700 break;
1701 } 1701 }
1702 1702
1703 if (hdev->type == HID_TYPE_USBMOUSE && 1703 if (hdev->type == HID_TYPE_USBMOUSE &&
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 3058e472aeb5..35752fcc0d04 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -377,11 +377,8 @@
377#define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 377#define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268
378 378
379#define USB_VENDOR_ID_SOUNDGRAPH 0x15c2 379#define USB_VENDOR_ID_SOUNDGRAPH 0x15c2
380#define USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD 0x0038 380#define USB_DEVICE_ID_SOUNDGRAPH_IMON_FIRST 0x0034
381#define USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD2 0x0036 381#define USB_DEVICE_ID_SOUNDGRAPH_IMON_LAST 0x0046
382#define USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD3 0x0034
383#define USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD4 0x0044
384#define USB_DEVICE_ID_SOUNDGRAPH_IMON_LCD5 0x0045
385 382
386#define USB_VENDOR_ID_SUN 0x0430 383#define USB_VENDOR_ID_SUN 0x0430
387#define USB_DEVICE_ID_RARITAN_KVM_DONGLE 0xcdab 384#define USB_DEVICE_ID_RARITAN_KVM_DONGLE 0xcdab