From: Ethan Hsieh Date: Fri, 7 Oct 2016 04:06:42 +0000 (+0800) Subject: Bluetooth: btusb: Fix atheros firmware download error X-Git-Tag: v4.14-rc1~2296^2~2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c7e163fe282f34efdf77fb09b333529de97a6a10;p=platform%2Fkernel%2Flinux-rpi.git Bluetooth: btusb: Fix atheros firmware download error Move usb_autopm_get_interface() ahead of setup_on_usb() to prevent device from sending usb control message in usb suspend mode. The error message is as below: [ 83.944103] btusb 1-2:1.1: usb_suspend_interface: status 0 [ 83.944107] btusb 1-2:1.0: usb_suspend_interface: status 0 [ 83.960132] usb 1-2: usb auto-suspend, wakeup 0 [ 83.976156] usb 1-2: usb_suspend_device: status 0 [ 83.976162] usb 1-2: usb_suspend_both: status 0 [ 298.689106] Bluetooth: hci0 [ 298.689399] Bluetooth: hci0: Failed to access otp area (-113) Signed-off-by: Ethan Hsieh Signed-off-by: Marcel Holtmann --- diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 8896233..2f633df 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -1043,6 +1043,10 @@ static int btusb_open(struct hci_dev *hdev) BT_DBG("%s", hdev->name); + err = usb_autopm_get_interface(data->intf); + if (err < 0) + return err; + /* Patching USB firmware files prior to starting any URBs of HCI path * It is more safe to use USB bulk channel for downloading USB patch */ @@ -1052,10 +1056,6 @@ static int btusb_open(struct hci_dev *hdev) return err; } - err = usb_autopm_get_interface(data->intf); - if (err < 0) - return err; - data->intf->needs_remote_wakeup = 1; if (test_and_set_bit(BTUSB_INTR_RUNNING, &data->flags))