From ead002dbe5a670536874d4cf2b4c73cbbc426157 Mon Sep 17 00:00:00 2001
From: Mike Lockwood <lockwood@android.com>
Date: Mon, 14 Feb 2011 13:32:05 -0500
Subject: [PATCH] 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>
---
 drivers/usb/gadget/android.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/android.c b/drivers/usb/gadget/android.c
index 365d43fcdba9..ff91ecad7b28 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;
@@ -406,8 +407,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);
 	}
 }
-- 
GitLab