summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-02-14 13:32:05 -0500
committerColin Cross <ccross@android.com>2011-06-14 09:09:55 -0700
commit1adbbfbe99343cb7735ddf072e0e70095b6facc5 (patch)
tree55156c364b529162cdb4f3285be882a069490bc5
parentae4cd3a4cf4996b0d2868d1612cd38e34bd81e27 (diff)
USB: gadget: android: Fix problem switching vendor IDs
We need to update the vendor ID in the composite driver as well Signed-off-by: Mike Lockwood <lockwood@android.com>
-rw-r--r--drivers/usb/gadget/android.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/gadget/android.c b/drivers/usb/gadget/android.c
index e49ef2c470d..eb6af6d538d 100644
--- a/drivers/usb/gadget/android.c
+++ b/drivers/usb/gadget/android.c
@@ -343,6 +343,7 @@ static int android_bind(struct usb_composite_dev *cdev)
dev->cdev = cdev;
device_desc.idVendor = __constant_cpu_to_le16(get_vendor_id(dev));
device_desc.idProduct = __constant_cpu_to_le16(get_product_id(dev));
+ cdev->desc.idVendor = device_desc.idVendor;
cdev->desc.idProduct = device_desc.idProduct;
return 0;
@@ -434,8 +435,10 @@ void android_enable_function(struct usb_function *f, int enable)
device_desc.idVendor = __constant_cpu_to_le16(get_vendor_id(dev));
device_desc.idProduct = __constant_cpu_to_le16(get_product_id(dev));
- if (dev->cdev)
+ if (dev->cdev) {
+ dev->cdev->desc.idVendor = device_desc.idVendor;
dev->cdev->desc.idProduct = device_desc.idProduct;
+ }
usb_composite_force_reset(dev->cdev);
}
}