summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-10-25 11:41:03 +0800
committerAndy Green <andy.green@linaro.org>2011-10-25 11:41:03 +0800
commit982e8132f7b0dbb9a6beea858fad2b88482090e1 (patch)
treea5242ecfc86cc9983fad3f7515341c6ddc051271
parent46c52e85e0b5305995e54046b532bf8db72292b9 (diff)
usb: gadget: android: Only call ctrlrequest callback on enabled functions
Signed-off-by: Mike Lockwood <lockwood@android.com>
-rw-r--r--drivers/usb/gadget/android.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/gadget/android.c b/drivers/usb/gadget/android.c
index c82b43ba628..b13633bb684 100644
--- a/drivers/usb/gadget/android.c
+++ b/drivers/usb/gadget/android.c
@@ -1040,7 +1040,6 @@ android_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *c)
struct android_dev *dev = _android_dev;
struct usb_composite_dev *cdev = get_gadget_data(gadget);
struct usb_request *req = cdev->req;
- struct android_usb_function **functions = dev->functions;
struct android_usb_function *f;
int value = -EOPNOTSUPP;
unsigned long flags;
@@ -1050,7 +1049,7 @@ android_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *c)
req->length = 0;
gadget->ep0->driver_data = cdev;
- while ((f = *functions++)) {
+ list_for_each_entry(f, &dev->enabled_functions, enabled_list) {
if (f->ctrlrequest) {
value = f->ctrlrequest(f, cdev, c);
if (value >= 0)