forked from Minki/linux
USB: core: add device-qualifier quirk
Add new quirk for devices that cannot handle requests for the device_qualifier descriptor. A USB-2.0 compliant device must respond to requests for the device_qualifier descriptor (even if it's with a request error), but at least one device is known to misbehave after such a request. Suggested-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bf17eba7ae
commit
2a159389bf
@ -4538,6 +4538,9 @@ check_highspeed (struct usb_hub *hub, struct usb_device *udev, int port1)
|
|||||||
struct usb_qualifier_descriptor *qual;
|
struct usb_qualifier_descriptor *qual;
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
|
if (udev->quirks & USB_QUIRK_DEVICE_QUALIFIER)
|
||||||
|
return;
|
||||||
|
|
||||||
qual = kmalloc (sizeof *qual, GFP_KERNEL);
|
qual = kmalloc (sizeof *qual, GFP_KERNEL);
|
||||||
if (qual == NULL)
|
if (qual == NULL)
|
||||||
return;
|
return;
|
||||||
|
@ -41,4 +41,7 @@
|
|||||||
*/
|
*/
|
||||||
#define USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL 0x00000080
|
#define USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL 0x00000080
|
||||||
|
|
||||||
|
/* device can't handle device_qualifier descriptor requests */
|
||||||
|
#define USB_QUIRK_DEVICE_QUALIFIER 0x00000100
|
||||||
|
|
||||||
#endif /* __LINUX_USB_QUIRKS_H */
|
#endif /* __LINUX_USB_QUIRKS_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user