aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorVojtech Pavlik <vojtech@suse.cz>2006-01-26 01:44:31 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-31 20:23:41 -0500
commitdc41baf8181884770d77ce0cfc8ae9617cb8b02c (patch)
treec024b6012066c3a96cf6b8fca4a16229a549cbe9 /drivers/usb
parent885e77430d2adddfab3f2ca65e4d3e9f5d489c50 (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.c7
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
1836fail: 1837fail: