FAILED: patch "[PATCH] Bluetooth: HCI: Introduce HCI_QUIRK_BROKEN_LE_CODED" failed to apply to 6.5-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.5-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.5.y
git checkout FETCH_HEAD
git cherry-pick -x 253f3399f4c09ce6f4e67350f839be0361b4d5ff
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023083002-resilient-washed-2807@gregkh' --subject-prefix 'PATCH 6.5.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 253f3399f4c09ce6f4e67350f839be0361b4d5ff Mon Sep 17 00:00:00 2001
From: Luiz Augusto von Dentz <[email protected]>
Date: Tue, 22 Aug 2023 12:02:03 -0700
Subject: [PATCH] Bluetooth: HCI: Introduce HCI_QUIRK_BROKEN_LE_CODED
This introduces HCI_QUIRK_BROKEN_LE_CODED which is used to indicate that LE Coded PHY shall not be used, it is then set for some Intel models that claim to support it but when used causes many problems.
drivers/bluetooth/btintel.c +6 -0
@@ -2787,6 +2787,9 @@ static int btintel_setup_combined(struct hci_dev *hdev)set_bit (HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED , &hdev->quirks); +/* These variants don't seem to support LE Coded PHY */ +set_bit (HCI_QUIRK_BROKEN_LE_CODED , &hdev->quirks); +/* Setup MSFT Extension support */ btintel_set_msft_opcode (hdev, ver.hw_variant);
@@ -2858,6 +2861,9 @@ static int btintel_setup_combined(struct hci_dev *hdev)*/ set_bit (HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED , &hdev->quirks); +/* These variants don't seem to support LE Coded PHY */ +set_bit (HCI_QUIRK_BROKEN_LE_CODED , &hdev->quirks); +/* Set Valid LE States quirk */ set_bit (HCI_QUIRK_VALID_LE_STATES , &hdev->quirks);
include/net/bluetooth/hci.h +10 -0
@@ -319,6 +319,16 @@ enum {* This quirk must be set before hci_register_dev is called. */ HCI_QUIRK_USE_MSFT_EXT_ADDRESS_FILTER , + +/* +* When this quirk is set, LE Coded PHY shall not be used. This is +* required for some Intel controllers which erroneously claim to +* support it but it causes problems with extended scanning. +* +* This quirk can be set before hci_register_dev is called or +* during the hdev->setup vendor callback. +*/ + HCI_QUIRK_BROKEN_LE_CODED, };/* HCI device flags */
include/net/bluetooth/hci_core.h +3 -1
@@ -1817,7 +1817,9 @@ void hci_conn_del_sysfs(struct hci_conn *conn);#define scan_2m (dev) (((dev)->le_tx_def_phys & HCI_LE_SET_PHY_2M) || \ ((dev)->le_rx_def_phys & HCI_LE_SET_PHY_2M)) -#define le_coded_capable (dev) (((dev)->le_features[1] & HCI_LE_PHY_CODED)) +#define le_coded_capable (dev) (((dev)->le_features[1] & HCI_LE_PHY_CODED) && \ + !test_bit(HCI_QUIRK_BROKEN_LE_CODED, \ + &(dev)->quirks))#define scan_coded (dev) (((dev)->le_tx_def_phys & HCI_LE_SET_PHY_CODED) || \ ((dev)->le_rx_def_phys & HCI_LE_SET_PHY_CODED))
net/bluetooth/hci_sync.c +4 -1
@@ -4668,7 +4668,10 @@ static const struct { "advertised, but not supported."),HCI_QUIRK_BROKEN (SET_RPA_TIMEOUT ,"HCI LE Set Random Private Address Timeout command is " - "advertised, but not supported.") +"advertised, but not supported." ), +HCI_QUIRK_BROKEN (LE_CODED , +"HCI LE Coded PHY feature bit is set, " + "but its usage is not supported.") };/* This function handles hdev setup stage: