You've already forked linux-t2-patches
mirror of
https://github.com/t2linux/linux-t2-patches.git
synced 2026-04-30 13:52:11 -07:00
Update Bluetooth patches
This commit is contained in:
+337
-39
File diff suppressed because it is too large
Load Diff
@@ -1,37 +0,0 @@
|
||||
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
|
||||
index fe7935be7dc4..47e1ee6f275d 100644
|
||||
--- a/include/net/bluetooth/hci.h
|
||||
+++ b/include/net/bluetooth/hci.h
|
||||
@@ -274,6 +274,17 @@ enum {
|
||||
* during the hdev->setup vendor callback.
|
||||
*/
|
||||
HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN,
|
||||
+
|
||||
+ /*
|
||||
+ * When this quirk is set, the upper 8 bits of the evt_type field of
|
||||
+ * the LE Extended Advertising Report events are discarded.
|
||||
+ * Some Broadcom controllers found in Apple machines put the channel
|
||||
+ * the report was received on into these reserved bits.
|
||||
+ *
|
||||
+ * This quirk can be set before hci_register_dev is called or
|
||||
+ * during the hdev->setup vendor callback.
|
||||
+ */
|
||||
+ HCI_QUIRK_FIXUP_LE_EXT_ADV_REPORT_EVT_TYPE,
|
||||
};
|
||||
|
||||
/* HCI device flags */
|
||||
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
|
||||
index af17dfb20e01..0b5d70aeea93 100644
|
||||
--- a/net/bluetooth/hci_event.c
|
||||
+++ b/net/bluetooth/hci_event.c
|
||||
@@ -6237,6 +6237,10 @@ static void hci_le_ext_adv_report_evt(struct hci_dev *hdev, void *data,
|
||||
break;
|
||||
|
||||
evt_type = __le16_to_cpu(info->type);
|
||||
+ if (test_bit(HCI_QUIRK_FIXUP_LE_EXT_ADV_REPORT_EVT_TYPE,
|
||||
+ &hdev->quirks))
|
||||
+ evt_type &= 0xff;
|
||||
+
|
||||
legacy_evt_type = ext_evt_type_to_legacy(hdev, evt_type);
|
||||
if (legacy_evt_type != LE_ADV_INVALID) {
|
||||
process_adv_report(hdev, legacy_evt_type, &info->bdaddr,
|
||||
@@ -1,36 +0,0 @@
|
||||
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
|
||||
index 47e1ee6f275d..dd275842b9b2 100644
|
||||
--- a/include/net/bluetooth/hci.h
|
||||
+++ b/include/net/bluetooth/hci.h
|
||||
@@ -285,6 +285,16 @@ enum {
|
||||
* during the hdev->setup vendor callback.
|
||||
*/
|
||||
HCI_QUIRK_FIXUP_LE_EXT_ADV_REPORT_EVT_TYPE,
|
||||
+
|
||||
+ /*
|
||||
+ * When this quirk is set, the HCI_OP_LE_SET_EXT_SCAN_ENABLE command is
|
||||
+ * disabled. This is required for some Broadcom controllers which
|
||||
+ * erroneously claim to support extended scanning.
|
||||
+ *
|
||||
+ * This quirk can be set before hci_register_dev is called or
|
||||
+ * during the hdev->setup vendor callback.
|
||||
+ */
|
||||
+ HCI_QUIRK_BROKEN_EXT_SCAN,
|
||||
};
|
||||
|
||||
/* HCI device flags */
|
||||
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
|
||||
index c0ea2a4892b1..149b9a10f52f 100644
|
||||
--- a/include/net/bluetooth/hci_core.h
|
||||
+++ b/include/net/bluetooth/hci_core.h
|
||||
@@ -1501,7 +1501,9 @@ void hci_conn_del_sysfs(struct hci_conn *conn);
|
||||
|
||||
/* Use ext scanning if set ext scan param and ext scan enable is supported */
|
||||
#define use_ext_scan(dev) (((dev)->commands[37] & 0x20) && \
|
||||
- ((dev)->commands[37] & 0x40))
|
||||
+ ((dev)->commands[37] & 0x40) && \
|
||||
+ !test_bit(HCI_QUIRK_BROKEN_EXT_SCAN, &(dev)->quirks))
|
||||
+
|
||||
/* Use ext create connection if command is supported */
|
||||
#define use_ext_conn(dev) ((dev)->commands[37] & 0x80)
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 61251df82db8544f1229d67958bd78eff31e90d6 Mon Sep 17 00:00:00 2001
|
||||
From: Orlando Chamberlain <redecorating@protonmail.com>
|
||||
Date: Tue, 25 Oct 2022 18:14:14 +1100
|
||||
Subject: [PATCH 1/1] hci_bcm4377: disable bcm4377_send_ptb due to timeout
|
||||
error
|
||||
|
||||
According to sven:
|
||||
|
||||
try to add return 0; at the very top of bcm4377_send_ptb
|
||||
|
||||
there was a fix in the bluetooth core which now accurately tracks
|
||||
command success/failure for vendor-specific commands
|
||||
---
|
||||
drivers/bluetooth/hci_bcm4377.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/bluetooth/hci_bcm4377.c b/drivers/bluetooth/hci_bcm4377.c
|
||||
index e5db0ac8a81b..d7ae3f1fce3a 100644
|
||||
--- a/drivers/bluetooth/hci_bcm4377.c
|
||||
+++ b/drivers/bluetooth/hci_bcm4377.c
|
||||
@@ -1221,6 +1221,7 @@ static int bcm4377_send_ptb(struct bcm4377_data *bcm4377,
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
int ret = 0;
|
||||
+ return 0; /* Currently this has been timing out so disable for now. */
|
||||
|
||||
skb = __hci_cmd_sync(bcm4377->hdev, 0xfd98, fw->size, fw->data,
|
||||
HCI_INIT_TIMEOUT);
|
||||
--
|
||||
2.38.0
|
||||
|
||||
Reference in New Issue
Block a user