diff options
author | Vojtech Pavlik <vojtech@suse.cz> | 2006-01-26 01:44:31 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-31 20:23:41 -0500 |
commit | dc41baf8181884770d77ce0cfc8ae9617cb8b02c (patch) | |
tree | c024b6012066c3a96cf6b8fca4a16229a549cbe9 /drivers/usb | |
parent | 885e77430d2adddfab3f2ca65e4d3e9f5d489c50 (diff) |
[PATCH] USB HID: add blacklist entry for HP keyboard
My earlier experiment (adding a clear-halt for the interrupt-in
endpoint) failed. It turns out that it does cause problems for other
devices. And it wasn't needed anyway; a simple blacklist entry was
enough to get my HP keyboard working.
This patch (as643) removes the clear-halt call and adds the blacklist
entry.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/input/hid-core.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index a91e72c41415..617ce657f784 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c | |||
@@ -1453,6 +1453,9 @@ void hid_init_reports(struct hid_device *hid) | |||
1453 | #define USB_VENDOR_ID_CHERRY 0x046a | 1453 | #define USB_VENDOR_ID_CHERRY 0x046a |
1454 | #define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023 | 1454 | #define USB_DEVICE_ID_CHERRY_CYMOTION 0x0023 |
1455 | 1455 | ||
1456 | #define USB_VENDOR_ID_HP 0x03f0 | ||
1457 | #define USB_DEVICE_ID_HP_USBHUB_KB 0x020c | ||
1458 | |||
1456 | /* | 1459 | /* |
1457 | * Alphabetically sorted blacklist by quirk type. | 1460 | * Alphabetically sorted blacklist by quirk type. |
1458 | */ | 1461 | */ |
@@ -1566,6 +1569,7 @@ static const struct hid_blacklist { | |||
1566 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, | 1569 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, |
1567 | { USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_KEYBOARD, HID_QUIRK_NOGET}, | 1570 | { USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_KEYBOARD, HID_QUIRK_NOGET}, |
1568 | { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_USBHUB_KB, HID_QUIRK_NOGET}, | 1571 | { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_USBHUB_KB, HID_QUIRK_NOGET}, |
1572 | { USB_VENDOR_ID_HP, USB_DEVICE_ID_HP_USBHUB_KB, HID_QUIRK_NOGET }, | ||
1569 | { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NOGET }, | 1573 | { USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NOGET }, |
1570 | 1574 | ||
1571 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_POWERMOUSE, HID_QUIRK_2WHEEL_POWERMOUSE }, | 1575 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_POWERMOUSE, HID_QUIRK_2WHEEL_POWERMOUSE }, |
@@ -1828,9 +1832,6 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf) | |||
1828 | hid->urbctrl->transfer_dma = hid->ctrlbuf_dma; | 1832 | hid->urbctrl->transfer_dma = hid->ctrlbuf_dma; |
1829 | hid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_NO_SETUP_DMA_MAP); | 1833 | hid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_NO_SETUP_DMA_MAP); |
1830 | 1834 | ||
1831 | /* May be needed for some devices */ | ||
1832 | usb_clear_halt(hid->dev, hid->urbin->pipe); | ||
1833 | |||
1834 | return hid; | 1835 | return hid; |
1835 | 1836 | ||
1836 | fail: | 1837 | fail: |