summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-10-27 13:28:40 +0000
committerMark Brown <broonie@kernel.org>2026-10-27 13:28:40 +0000
commite113f800b5ec541785605d1c4e70ecb3d83df895 (patch)
tree4b3daed388d80da37f1ad16807beb7a1ba7a67ae
parente3f4ec36fad38498d2b7bfccb49b9c912de6c014 (diff)
parent47d4d9f67e92d56ef3965f2727f9c98a5a611368 (diff)
downloadlinux-next-e113f800b5ec541785605d1c4e70ecb3d83df895.tar.gz
linux-next-e113f800b5ec541785605d1c4e70ecb3d83df895.zip
Merge branch 'master' of https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git
-rw-r--r--drivers/bluetooth/Kconfig2
-rw-r--r--drivers/bluetooth/btintel_pcie.c8
-rw-r--r--drivers/bluetooth/btmtk.c8
-rw-r--r--drivers/bluetooth/btmtksdio.c8
-rw-r--r--drivers/bluetooth/btmtkuart.c8
5 files changed, 14 insertions, 20 deletions
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index 0dca5e43edc5..b18482b5677f 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -476,7 +476,7 @@ config BT_NXPUART
config BT_INTEL_PCIE
tristate "Intel HCI PCIe driver"
- depends on PCI && ACPI
+ depends on PCI && (ACPI || COMPILE_TEST)
select BT_INTEL
select FW_LOADER
help
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index df95d16a163c..4fbefaa3129a 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -4001,6 +4001,7 @@ static void btintel_pcie_inc_recovery_count(struct pci_dev *pdev,
}
}
+#ifdef CONFIG_ACPI
static int btintel_pcie_acpi_reset_method(struct btintel_pcie_data *data)
{
union acpi_object *obj, argv4;
@@ -4054,6 +4055,13 @@ static int btintel_pcie_acpi_reset_method(struct btintel_pcie_data *data)
pci_dev_unlock(data->pdev);
return ret;
}
+#else
+static int btintel_pcie_acpi_reset_method(struct btintel_pcie_data *data)
+{
+ bt_dev_err(data->hdev, "No support for ACPI, cold boot");
+ return -EOPNOTSUPP;
+}
+#endif
static void btintel_pcie_perform_pldr(struct btintel_pcie_data *data)
{
diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c
index bf9bfed3da23..6a48ff0192cf 100644
--- a/drivers/bluetooth/btmtk.c
+++ b/drivers/bluetooth/btmtk.c
@@ -608,13 +608,7 @@ static void btmtk_usb_wmt_recv(struct urb *urb)
return;
}
- if (test_and_clear_bit(BTMTK_TX_WAIT_VND_EVT,
- &data->flags)) {
- /* Barrier to sync with other CPUs */
- smp_mb__after_atomic();
- wake_up_bit(&data->flags,
- BTMTK_TX_WAIT_VND_EVT);
- }
+ test_and_clear_wake_up_bit(BTMTK_TX_WAIT_VND_EVT, &data->flags);
kfree(urb->setup_packet);
return;
} else if (urb->status == -ENOENT) {
diff --git a/drivers/bluetooth/btmtksdio.c b/drivers/bluetooth/btmtksdio.c
index b9563df72983..b6e16716b169 100644
--- a/drivers/bluetooth/btmtksdio.c
+++ b/drivers/bluetooth/btmtksdio.c
@@ -442,12 +442,8 @@ static int btmtksdio_recv_event(struct hci_dev *hdev, struct sk_buff *skb)
goto err_free_skb;
if (evt == HCI_EV_WMT) {
- if (test_and_clear_bit(BTMTKSDIO_TX_WAIT_VND_EVT,
- &bdev->tx_state)) {
- /* Barrier to sync with other CPUs */
- smp_mb__after_atomic();
- wake_up_bit(&bdev->tx_state, BTMTKSDIO_TX_WAIT_VND_EVT);
- }
+ test_and_clear_wake_up_bit(BTMTKSDIO_TX_WAIT_VND_EVT,
+ &bdev->tx_state);
}
return 0;
diff --git a/drivers/bluetooth/btmtkuart.c b/drivers/bluetooth/btmtkuart.c
index 4af6fbbbd302..744a87acaadc 100644
--- a/drivers/bluetooth/btmtkuart.c
+++ b/drivers/bluetooth/btmtkuart.c
@@ -229,12 +229,8 @@ static int btmtkuart_recv_event(struct hci_dev *hdev, struct sk_buff *skb)
goto err_free_skb;
if (hdr->evt == HCI_EV_WMT) {
- if (test_and_clear_bit(BTMTKUART_TX_WAIT_VND_EVT,
- &bdev->tx_state)) {
- /* Barrier to sync with other CPUs */
- smp_mb__after_atomic();
- wake_up_bit(&bdev->tx_state, BTMTKUART_TX_WAIT_VND_EVT);
- }
+ test_and_clear_wake_up_bit(BTMTKUART_TX_WAIT_VND_EVT,
+ &bdev->tx_state);
}
return 0;