summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorRoy Hashimoto <roy.hashimoto@gmail.com>2008-03-12 13:55:31 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-03-24 22:26:14 -0700
commit12cd5b984f825c5448aa4c0df561f8252076fd52 (patch)
treeaf7128d25805158416844aa187a62743711e809b /drivers/usb
parent7c12c92fba4bd985ed6d909e5537468b268dcaa4 (diff)
downloadlinux-stable-12cd5b984f825c5448aa4c0df561f8252076fd52.tar.gz
linux-stable-12cd5b984f825c5448aa4c0df561f8252076fd52.tar.bz2
linux-stable-12cd5b984f825c5448aa4c0df561f8252076fd52.zip
USB: fix gadgetfs class request delegation
gadgetfs (drivers/usb/gadget/inode.c) was not delegating all non-device requests to userspace. This patch makes the handling of all request cases consistent. Signed-off-by: Roy Hashimoto <hashimot@alumni.caltech.edu> Acked-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/inode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c
index 805602a687cb..0a6feafc8d28 100644
--- a/drivers/usb/gadget/inode.c
+++ b/drivers/usb/gadget/inode.c
@@ -1458,7 +1458,7 @@ gadgetfs_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
/* currently one config, two speeds */
case USB_REQ_SET_CONFIGURATION:
if (ctrl->bRequestType != 0)
- break;
+ goto unrecognized;
if (0 == (u8) w_value) {
value = 0;
dev->current_config = 0;
@@ -1505,7 +1505,7 @@ gadgetfs_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
/* PXA automagically handles this request too */
case USB_REQ_GET_CONFIGURATION:
if (ctrl->bRequestType != 0x80)
- break;
+ goto unrecognized;
*(u8 *)req->buf = dev->current_config;
value = min (w_length, (u16) 1);
break;