Commit 392e1d9817d0024c96aae237c3c4349e47c976fd
Committed by
Greg Kroah-Hartman
1 parent
12cd5b984f
USB: new quirk flag to avoid Set-Interface
This patch (as1057) fixes a problem with the X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter; the device crashes when it receives a Set-Interface request. A new quirk (USB_QUIRK_NO_SET_INTF) is introduced and a quirks entry is created for this device. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Showing 3 changed files with 10 additions and 1 deletions Side-by-side Diff
drivers/usb/core/message.c
... | ... | @@ -1206,7 +1206,10 @@ |
1206 | 1206 | return -EINVAL; |
1207 | 1207 | } |
1208 | 1208 | |
1209 | - ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), | |
1209 | + if (dev->quirks & USB_QUIRK_NO_SET_INTF) | |
1210 | + ret = -EPIPE; | |
1211 | + else | |
1212 | + ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), | |
1210 | 1213 | USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE, |
1211 | 1214 | alternate, interface, NULL, 0, 5000); |
1212 | 1215 |
drivers/usb/core/quirks.c
... | ... | @@ -50,6 +50,9 @@ |
50 | 50 | /* M-Systems Flash Disk Pioneers */ |
51 | 51 | { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, |
52 | 52 | |
53 | + /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */ | |
54 | + { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF }, | |
55 | + | |
53 | 56 | /* Action Semiconductor flash disk */ |
54 | 57 | { USB_DEVICE(0x10d6, 0x2200), .driver_info = |
55 | 58 | USB_QUIRK_STRING_FETCH_255 }, |
include/linux/usb/quirks.h