aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYauhen Kharuzhy <jekhor@gmail.com>2008-10-17 23:10:20 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2008-10-22 14:21:21 -0700
commit1f41088c56185a338b1e916a95c2ce11e3996e6a (patch)
treebce48fb467038488c4ef8cfa2744c8d41ba9534c
parent48e12d72efd753818139a1870ee840ceb1a776e3 (diff)
USB: Fix s3c2410_udc usb speed handling
commit f9e9cff613b8239ce9159735aa662c9c85b478bf upstream The new composite framework revealed a weakness in the s3c2410_udc driver gadget register function. Instead of checking if speed asked for was USB_LOW_SPEED upon usb_gadget_register() to deny service, it checked only for USB_FULL_SPEED, thus denying service to usb high speed capable gadgets (like g_ether). Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/gadget/s3c2410_udc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c
index 29d13ebe750..48f51b12d2e 100644
--- a/drivers/usb/gadget/s3c2410_udc.c
+++ b/drivers/usb/gadget/s3c2410_udc.c
@@ -1651,7 +1651,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
return -EBUSY;
if (!driver->bind || !driver->setup
- || driver->speed != USB_SPEED_FULL) {
+ || driver->speed < USB_SPEED_FULL) {
printk(KERN_ERR "Invalid driver: bind %p setup %p speed %d\n",
driver->bind, driver->setup, driver->speed);
return -EINVAL;