aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-02-14 13:32:05 -0500
committerMike Lockwood <lockwood@android.com>2011-02-19 15:24:11 -0500
commit70ee83c5d185b6ac1026b8e6e5e31616ebe39320 (patch)
tree6d31ce4454f89878886e7852d9004bab094d561b
parentbeb93055b74ce7608f2801b2efc025bb32313988 (diff)
downloadqemu-70ee83c5d185b6ac1026b8e6e5e31616ebe39320.tar.gz
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 8e6cafc851c..7017e23a80a 100644
--- a/drivers/usb/gadget/android.c
+++ b/drivers/usb/gadget/android.c
@@ -344,6 +344,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;
@@ -436,8 +437,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);
}
}