[Precise][PATCH 1/2] UBUNTU: SAUCE: Bluetooth: Getting ID from descriptor instead of matched rule

Jesse Sung jesse.sung at canonical.com
Tue Oct 23 09:05:00 UTC 2012


From: Wen-chien Jesse Sung <jesse.sung at canonical.com>

BugLink: https://launchpad.net/bugs/1065400

Since the matched rule could be specified by
USB_VENDOR_AND_INTERFACE_INFO() instead of USB_DEVICE(),
use the ID in descriptor to make sure we can really get
the correct one.

Signed-off-by: Wen-chien Jesse Sung <jesse.sung at canonical.com>
---
 drivers/bluetooth/btusb.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 96baae6..ba88eb4 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -944,7 +944,8 @@ static void btusb_load_firmware(struct hci_dev *hdev)
 		return;
 
 	snprintf(filename, PATCHRAM_NAME_LEN, "fw-%04x_%04x.hcd",
-			id->idVendor, id->idProduct);
+			le16_to_cpu(udev->descriptor.idVendor),
+			le16_to_cpu(udev->descriptor.idProduct));
 	if (request_firmware(&fw, (const char *) filename, &udev->dev) < 0) {
 		BT_INFO("can't load firmware, may not work correctly");
 		return;
-- 
1.7.10.4





More information about the kernel-team mailing list