aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/core/message.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-03-24 23:24:16 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-03-24 23:24:16 -0700
commita4083c9271e0a697278e089f2c0b9a95363ada0a (patch)
treedb82449c18bc1410091d39f29c59d47379dd9ec5 /drivers/usb/core/message.c
parent4742dc1d7670bd00253d2dfb637d55446dc6ef81 (diff)
parent7fdba2f2917da4403044d9ea5d239f9cc0e9693d (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: Fix cut-and-paste error in rtl8150.c USB: ehci: stop vt6212 bus hogging USB: sierra: add another device id USB: sierra: dma fixes USB: add support for Motorola ROKR Z6 cellphone in mass storage mode USB: isd200: fix memory leak in isd200_get_inquiry_data USB: pl2303: another product ID USB: new quirk flag to avoid Set-Interface USB: fix gadgetfs class request delegation
Diffstat (limited to 'drivers/usb/core/message.c')
-rw-r--r--drivers/usb/core/message.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index fefb92296e8..c311f67b7f0 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1206,7 +1206,10 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate)
return -EINVAL;
}
- ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
+ if (dev->quirks & USB_QUIRK_NO_SET_INTF)
+ ret = -EPIPE;
+ else
+ ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE,
alternate, interface, NULL, 0, 5000);