1 /*
2  * This file holds the definitions of quirks found in USB devices.
3  * Only quirks that affect the whole device, not an interface,
4  * belong here.
5  */
6 
7 #ifndef __LINUX_USB_QUIRKS_H
8 #define __LINUX_USB_QUIRKS_H
9 
10 /* string descriptors must not be fetched using a 255-byte read */
11 #define USB_QUIRK_STRING_FETCH_255	0x00000001
12 
13 /* device can't resume correctly so reset it instead */
14 #define USB_QUIRK_RESET_RESUME		0x00000002
15 
16 /* device can't handle Set-Interface requests */
17 #define USB_QUIRK_NO_SET_INTF		0x00000004
18 
19 /* device can't handle its Configuration or Interface strings */
20 #define USB_QUIRK_CONFIG_INTF_STRINGS	0x00000008
21 
22 /*device will morph if reset, don't use reset for handling errors */
23 #define USB_QUIRK_RESET_MORPHS		0x00000010
24 
25 /* device has more interface descriptions than the bNumInterfaces count,
26    and can't handle talking to these interfaces */
27 #define USB_QUIRK_HONOR_BNUMINTERFACES	0x00000020
28 
29 /* device needs a pause during initialization, after we read the device
30    descriptor */
31 #define USB_QUIRK_DELAY_INIT		0x00000040
32 
33 #endif /* __LINUX_USB_QUIRKS_H */
34