On Wed, Nov 15, 2017 at 05:41:28PM +0530, abhijeet.kumar@xxxxxxxxx wrote: > 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); > + This is broken. Where is the corresponding put? And why would you need this at all, given that the interface is resumed at the start of this branch? > if (__set_isoc_interface(hdev, new_alts) < 0) > return; > } Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html