diff options
author | Yauhen Kharuzhy <jekhor@gmail.com> | 2008-09-12 09:02:23 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-17 14:40:58 -0700 |
commit | f9e9cff613b8239ce9159735aa662c9c85b478bf (patch) | |
tree | 2d9c90e6904d6dcdb4d54b0efc36a315e8777ce1 /drivers/usb | |
parent | 36e893d25aa2abcae0f11ef263de0e8322641386 (diff) | |
download | linux-f9e9cff613b8239ce9159735aa662c9c85b478bf.tar.gz linux-f9e9cff613b8239ce9159735aa662c9c85b478bf.tar.bz2 linux-f9e9cff613b8239ce9159735aa662c9c85b478bf.zip |
USB: Fix s3c2410_udc usb speed handling
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>
Cc: stable <stable@kernel.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/s3c2410_udc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c index 29d13ebe7500..48f51b12d2e2 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; |