[PATCH] Bluettoth: btusb: Prevent USB devices to autosuspend while setting interface

From: abhijeet . kumar
Date: Wed Nov 15 2017 - 07:04:39 EST


From: Abhijeet Kumar <abhijeet.kumar@xxxxxxxxx>

Runtime resume USB device in order to ensure that PM framework knows
that the we might be using the device in a short time and doesn't
autosuspend the device while we update it's interface.

Signed-off-by: Abhijeet Kumar <abhijeet.kumar@xxxxxxxxx>
---
drivers/bluetooth/btusb.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 7a5c06aaa181..588aabf991be 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -1444,6 +1444,12 @@ static void btusb_work(struct work_struct *work)
data->sco_skb = NULL;
spin_unlock_irqrestore(&data->rxlock, flags);

+ /*
+ *Letting runtime PM know that we wish to use
+ *the device in a short time.
+ */
+ pm_runtime_get(&data->udev->dev);
+
if (__set_isoc_interface(hdev, new_alts) < 0)
return;
}
--
1.9.1