USB autosuspend causing trouble on Intel bluetooth (Linux 3.14)

From: Thomas Bächler
Date: Wed Apr 02 2014 - 18:29:39 EST


I am having trouble due to the following commit, which landed in 3.14:

commit d2bee8fb6e18f6116aada39851918473761f7ab1
Author: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx>
Date: Tue Nov 12 13:16:41 2013 -0800

Bluetooth: Enable autosuspend for Intel Bluetooth device

I have an Intel bluetooth dongle (8087:07dc) built into a Thinkpad. I
primarily use it with my bluetooth mouse. Whenever I stop using the
mouse for a few seconds, the mouse stops working. When I turn it off,
the bluetooth applet on my desktop shows it as connected indefinitely. I
can fix this situation by either of these actions:
* restart bluetooth.service
* disable+reenable bluetooth in the bluetooth applet
* modprobe -r btusb && modprobe btusb
The mouse then works again until I stop moving it for a short while.

The culprit is USB autosuspend. When I explicitly disable it (echo 'on'
> power/control), the mouse works fine again. However, due to the
aforementioned commit, I need to do this manually after every boot and
every resume, because btusb keeps setting it back to 'auto'. I have
found no way of overriding this behaviour.

Any advice or help is appreciated.
Regards
Thomas Bächler

Attachment: signature.asc
Description: OpenPGP digital signature