remarkable-linux/drivers/bluetooth
Hans de Goede b1a8014471 Bluetooth: revert: "Bluetooth: Add missing reset_resume dev_pm_ops"
Many btusb devices have 2 modes, a hid mode and a bluetooth hci mode. These
devices default to hid mode for BIOS use. This means that after having been
reset they will revert to HID mode, and are no longer usable as a HCI.

Therefor it is a very bad idea to just blindly make reset_resume point to
the regular resume handler. Note that the btusb driver has no clue how to
switch these devices from hid to hci mode, this is done in userspace through
udev rules, so the proper way to deal with this is to not have a reset-resume
handler and instead let the usb-system re-enumerate the device, and re-run
the udev rules.

I must also note, that the commit message for the commit causing this
problem has a very weak motivation for the change:

"Add missing reset_resume dev_pm_ops. Missing reset_resume results in the
following message after power management device test. This change sets
reset_resume to btusb_resume().

[ 2506.936134] btusb 1-1.5:1.0: no reset_resume for driver btusb?
[ 2506.936137] btusb 1-1.5:1.1: no reset_resume for driver btusb?"

Making a change solely to silence a warning while also changing important
behavior (normal resume handling versus re-enumeration) requires a commit
message with a proper explanation why it is safe to do so, which clearly lacks
here, and unsurprisingly it turns out to not be safe to make this change.

Reverting the commit in question fixes bt no longer working on my Dell
E6430 after a suspend/resume, and I believe it likely also fixes the
following bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=988481
https://bugzilla.redhat.com/show_bug.cgi?id=1010649
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1213239

This reverts commit 502f769662.

Cc: Shuah Khan <shuah.kh@samsung.com>
Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
2013-10-02 16:01:49 -03:00
..
ath3k.c Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012. 2013-09-16 14:36:55 -03:00
bcm203x.c Bluetooth: Use devm_kzalloc in bcm203x.c file. 2012-08-06 15:03:00 -03:00
bfusb.c Bluetooth: Use devm_kzalloc in bfusb.c file 2012-08-06 15:03:00 -03:00
bluecard_cs.c drivers/bluetooth: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:04 -07:00
bpa10x.c Bluetooth: Use devm_kzalloc in bpa10x.c file 2012-08-06 15:03:01 -03:00
bt3c_cs.c drivers/bluetooth: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:04 -07:00
btmrvl_debugfs.c Bluetooth: replace strict_strtol() with kstrtol() 2013-07-25 14:15:25 +01:00
btmrvl_drv.h
btmrvl_main.c Bluetooth: btmrvl: fix thread stopping race 2013-06-13 13:05:40 -04:00
btmrvl_sdio.c Bluetooth: use DIV_ROUND_UP in suitable places in btmrvl_sdio 2013-08-21 16:46:50 +02:00
btmrvl_sdio.h
btsdio.c Bluetooth: Use devm_kzalloc in btsdio.c file 2012-08-06 15:03:01 -03:00
btuart_cs.c drivers/bluetooth: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:04 -07:00
btusb.c Bluetooth: revert: "Bluetooth: Add missing reset_resume dev_pm_ops" 2013-10-02 16:01:49 -03:00
btwilink.c Bluetooth: Use module_platform_driver() in btwilink.c file 2012-09-08 16:53:47 -03:00
dtl1_cs.c drivers/bluetooth: use module_pcmcia_driver() in pcmcia drivers 2013-03-15 12:26:04 -07:00
hci_ath.c tty: move the termios object into the tty 2012-07-16 13:00:41 -07:00
hci_bcsp.c
hci_h4.c Bluetooth: Fix H4 crash from incoming UART packets 2013-04-04 12:35:58 +03:00
hci_h5.c Bluetooth: Introduce a flags variable to Three-wire UART state 2012-07-17 14:49:24 -03:00
hci_ldisc.c Bluetooth: Remove trivial white space 2013-04-04 12:36:02 +03:00
hci_ll.c Bluetooth: hci_ll.c: removes unnecessary semicolon 2012-09-18 22:26:33 -03:00
hci_uart.h Bluetooth: Add delayed init sequence support for UART controllers 2012-07-17 14:48:29 -03:00
hci_vhci.c Bluetooth: hci_vhci.c: removes unnecessary semicolon 2012-09-18 22:26:43 -03:00
Kconfig Bluetooth: btmrvl: support Marvell Bluetooth device SD8897 2013-06-12 10:20:54 -04:00
Makefile Bluetooth: Initial skeleton for Three-wire UART (H5) support 2012-07-17 14:33:20 -03:00