summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Jarzmik <robert.jarzmik@free.fr>2008-08-11 20:28:13 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-08-21 21:26:33 +0400
commitbf31338bfd5d04434adf2294255847bb7dad687a (patch)
tree496a3b17162b3d16ef059ea3cd3fcc390b4bad96
parentc8fd2c37b99c55c8d24888e0ed9d5f4f73458c9c (diff)
downloadlinux-bf31338bfd5d04434adf2294255847bb7dad687a.tar.xz
USB: Fix pxa27x_udc usb speed handling.
The new composite framework revealed a weakness in the pxa27x_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: Robert Jarzmik <robert.jarzmik@free.fr> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/gadget/pxa27x_udc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index a28513ecbe5b..7cbc78a6853d 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -1622,7 +1622,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
struct pxa_udc *udc = the_controller;
int retval;
- if (!driver || driver->speed != USB_SPEED_FULL || !driver->bind
+ if (!driver || driver->speed < USB_SPEED_FULL || !driver->bind
|| !driver->disconnect || !driver->setup)
return -EINVAL;
if (!udc)