HID: Use hid blacklist in usbmouse/usbkbd
This fixes wacom tablets not working if usbmouse is loaded. Signed-off-by: Pascal Terjan <pterjan@mandriva.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
628edcde87
commit
9f6b37275a
@ -911,6 +911,8 @@ u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct)
|
|||||||
return quirks;
|
return quirks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EXPORT_SYMBOL_GPL(usbhid_lookup_quirk);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Cherry Cymotion keyboard have an invalid HID report descriptor,
|
* Cherry Cymotion keyboard have an invalid HID report descriptor,
|
||||||
* that needs fixing before we can parse it.
|
* that needs fixing before we can parse it.
|
||||||
|
@ -235,6 +235,12 @@ static int usb_kbd_probe(struct usb_interface *iface,
|
|||||||
if (!usb_endpoint_is_int_in(endpoint))
|
if (!usb_endpoint_is_int_in(endpoint))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
if (usbhid_lookup_quirk(le16_to_cpu(dev->descriptor.idVendor),
|
||||||
|
le16_to_cpu(dev->descriptor.idProduct))
|
||||||
|
& HID_QUIRK_IGNORE) {
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);
|
pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);
|
||||||
maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));
|
maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));
|
||||||
|
|
||||||
|
@ -131,6 +131,12 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
|
|||||||
if (!usb_endpoint_is_int_in(endpoint))
|
if (!usb_endpoint_is_int_in(endpoint))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
if (usbhid_lookup_quirk(le16_to_cpu(dev->descriptor.idVendor),
|
||||||
|
le16_to_cpu(dev->descriptor.idProduct))
|
||||||
|
& (HID_QUIRK_IGNORE|HID_QUIRK_IGNORE_MOUSE)) {
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);
|
pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);
|
||||||
maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));
|
maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user