]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.13-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Nov 2017 11:22:00 +0000 (12:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Nov 2017 11:22:00 +0000 (12:22 +0100)
added patches:
bluetooth-btusb-fix-qca-rome-suspend-resume.patch

queue-4.13/bluetooth-btusb-fix-qca-rome-suspend-resume.patch [new file with mode: 0644]
queue-4.13/series

diff --git a/queue-4.13/bluetooth-btusb-fix-qca-rome-suspend-resume.patch b/queue-4.13/bluetooth-btusb-fix-qca-rome-suspend-resume.patch
new file mode 100644 (file)
index 0000000..86ec04c
--- /dev/null
@@ -0,0 +1,38 @@
+From fd865802c66bc451dc515ed89360f84376ce1a56 Mon Sep 17 00:00:00 2001
+From: Leif Liddy <leif.linux@gmail.com>
+Date: Sat, 8 Jul 2017 20:55:32 +0200
+Subject: Bluetooth: btusb: fix QCA Rome suspend/resume
+
+From: Leif Liddy <leif.linux@gmail.com>
+
+commit fd865802c66bc451dc515ed89360f84376ce1a56 upstream.
+
+There's been numerous reported instances where BTUSB_QCA_ROME
+bluetooth controllers stop functioning upon resume from suspend. These
+devices seem to be losing power during suspend. Patch will detect a status
+change on resume and perform a reset.
+
+Signed-off-by: Leif Liddy <leif.linux@gmail.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Cc: Kai Heng Feng <kai.heng.feng@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/bluetooth/btusb.c |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/bluetooth/btusb.c
++++ b/drivers/bluetooth/btusb.c
+@@ -3068,6 +3068,12 @@ static int btusb_probe(struct usb_interf
+       if (id->driver_info & BTUSB_QCA_ROME) {
+               data->setup_on_usb = btusb_setup_qca;
+               hdev->set_bdaddr = btusb_set_bdaddr_ath3012;
++
++              /* QCA Rome devices lose their updated firmware over suspend,
++               * but the USB hub doesn't notice any status change.
++               * Explicitly request a device reset on resume.
++               */
++              set_bit(BTUSB_RESET_RESUME, &data->flags);
+       }
+ #ifdef CONFIG_BT_HCIBTUSB_RTL
index 5f150f2e19ffc46a985c7031a6b354ebe6e63107..b1c78ff1cb7051a758e4e0e896f7fd98a7c965ff 100644 (file)
@@ -1,2 +1,3 @@
 media-imon-fix-null-ptr-deref-in-imon_probe.patch
 media-dib0700-fix-invalid-dvb_detach-argument.patch
+bluetooth-btusb-fix-qca-rome-suspend-resume.patch