summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-01-07 17:19:49 +0100
committerHans de Goede <hdegoede@redhat.com>2019-01-07 17:19:49 +0100
commit23f974ff7cbfcc782081a532a95a1a33ff2d0dc5 (patch)
tree0b8268a6acc569d3d0a0773bb11aca163b522188
parent378c99f10295e9b8007b0ae3d677e4ae3f62e745 (diff)
downloadkernel-23f974ff7cbfcc782081a532a95a1a33ff2d0dc5.tar.gz
kernel-23f974ff7cbfcc782081a532a95a1a33ff2d0dc5.tar.xz
kernel-23f974ff7cbfcc782081a532a95a1a33ff2d0dc5.zip
Add patch to fix bluetooth on RPI 3B+ registering twice (rhbz#1661961)
-rw-r--r--0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch45
-rw-r--r--kernel.spec6
2 files changed, 51 insertions, 0 deletions
diff --git a/0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch b/0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch
new file mode 100644
index 000000000..b91e6f158
--- /dev/null
+++ b/0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch
@@ -0,0 +1,45 @@
+From 70ecdd3d8b36cd2bb960bc4e7ae047fbb94c031b Mon Sep 17 00:00:00 2001
+From: "Cho, Yu-Chen" <acho@suse.com>
+Date: Tue, 2 Oct 2018 17:57:04 +0800
+Subject: [PATCH] Bluetooth: btsdio: Do not bind to non-removable BCM43430
+
+BCM43430 devices soldered onto the PCB (non-removable)
+use an UART connection for bluetooth.
+But also advertise btsdio support on their 3th sdio function.
+
+Signed-off-by: Cho, Yu-Chen <acho@suse.com>
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+---
+ drivers/bluetooth/btsdio.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
+index 20142bc77554..282d1af1d3ba 100644
+--- a/drivers/bluetooth/btsdio.c
++++ b/drivers/bluetooth/btsdio.c
+@@ -293,13 +293,17 @@ static int btsdio_probe(struct sdio_func *func,
+ tuple = tuple->next;
+ }
+
+- /* BCM43341 devices soldered onto the PCB (non-removable) use an
+- * uart connection for bluetooth, ignore the BT SDIO interface.
++ /* Broadcom devices soldered onto the PCB (non-removable) use an
++ * UART connection for Bluetooth, ignore the BT SDIO interface.
+ */
+ if (func->vendor == SDIO_VENDOR_ID_BROADCOM &&
+- func->device == SDIO_DEVICE_ID_BROADCOM_43341 &&
+- !mmc_card_is_removable(func->card->host))
+- return -ENODEV;
++ !mmc_card_is_removable(func->card->host)) {
++ switch (func->device) {
++ case SDIO_DEVICE_ID_BROADCOM_43341:
++ case SDIO_DEVICE_ID_BROADCOM_43430:
++ return -ENODEV;
++ }
++ }
+
+ data = devm_kzalloc(&func->dev, sizeof(*data), GFP_KERNEL);
+ if (!data)
+--
+2.20.1
+
diff --git a/kernel.spec b/kernel.spec
index 163067094..c2518e3eb 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -635,6 +635,9 @@ Patch510: iio-accel-kxcjk1013-Add-more-hardware-ids.patch
# rhbz 1645070 patch queued upstream for merging into 4.21
Patch516: asus-fx503-keyb.patch
+# rhbz 1661961 patch merged upstream in 4.20
+Patch517: 0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1896,6 +1899,9 @@ fi
#
#
%changelog
+* Mon Jan 7 2019 Hans de Goede <hdegoede@redhat.com>
+- Add patch to fix bluetooth on RPI 3B+ registering twice (rhbz#1661961)
+
* Sat Dec 29 2018 Jeremy Cline <jcline@redhat.com> - 4.19.13-300
- Linux v4.19.13