USB: Fix goku_udc usb speed handling
authorSangSu Park <[email protected]>
Thu, 1 Jan 2009 16:11:14 +0000 (01:11 +0900)
committerGreg Kroah-Hartman <[email protected]>
Wed, 7 Jan 2009 18:00:13 +0000 (10:00 -0800)
The usb gadget framework revealed weakness in the godu_udc
gadget driver 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.

Signed-off-by: SangSu Park <[email protected]>
Acked-by: David Brownell <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/usb/gadget/goku_udc.c

index 60aa04847b189255522cf60489cb1d88a16e737b..63419c4d503c3876649e57221a9073f58cf2e8be 100644 (file)
@@ -1349,7 +1349,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
        int                     retval;
 
        if (!driver
-                       || driver->speed != USB_SPEED_FULL
+                       || driver->speed < USB_SPEED_FULL
                        || !driver->bind
                        || !driver->disconnect
                        || !driver->setup)