[PATCH v4 0/4] Bluetooth: btusb: Support Qualcomm multi-subsystem QCC2072
From: Zijun Hu
Date: Thu Sep 10 2026 - 10:43:56 EST
Hi Luiz,
This revision addresses issues reported by Sashiko [1]. Fixes are listed
in the changelog below; false positives are addressed as Q&A further down.
[1] https://sashiko.dev/#/patchset/20260907-btusb_qcc2072-v3-0-1f65350b03b8%40oss.qualcomm.com
Could you take a look at this new revision when you get a chance, and let
me know if you have any further comments?
False positives (no code change):
Q: Can an empty vendor packet cause a NULL pointer dereference in
btusb_qcom_send_frame()?
A: No — vendor packet's skb->len can't be 0 here. Both producers of
a HCI_VENDOR_PKT skb already reject zero length before reaching
hdev->send(): hci_sock_sendmsg's "len < 4" check for userspace writes,
and hci_send_vendor_frame's own "!len" check for kernel-internal senders.
This patch series supports Qualcomm multi-subsystem QCC2072. The first
3 commits are simple dependencies of the last one.
Signed-off-by: Zijun Hu <zijun.hu@xxxxxxxxxxxxxxxx>
---
Changes in v4:
- Fix memdump timeout blocking btusb_qcom_reset()
- Fix missing build information on driver rebind or resume
- Link to v3: https://patch.msgid.link/20260907-btusb_qcc2072-v3-0-1f65350b03b8@xxxxxxxxxxxxxxxx
Changes in v3:
- Remove socket option BT_RECV_VENDOR_PKT
- Fix heap overflow in hci_send_vendor_frame()
- Fix a stray NUL byte in the memdump file header
- Fix PM reference leak in btusb_do_reset_work()
- Don't mix goto with scoped_guard() in __qperi_tx_sync_evt()
- Don't mix goto with scoped_guard() in qperi_handle_evt()
- Prepare btusb_qcom for bulk serialization mode support.
- Link to v2: https://patch.msgid.link/20260830-btusb_qcc2072-v2-0-5c0e0c9dd98b@xxxxxxxxxxxxxxxx
---
Zijun Hu (4):
Bluetooth: btusb: Add recv_intr() hook to btusb_data
Bluetooth: Add generic support for vendor packets
Bluetooth: btusb: Build the driver from multiple source files
Bluetooth: btusb: Add support for Qualcomm multi-subsystem QCC2072
drivers/bluetooth/Kconfig | 14 +
drivers/bluetooth/Makefile | 3 +
drivers/bluetooth/{btusb.c => btusb_main.c} | 127 +-
drivers/bluetooth/btusb_qcom.c | 4542 +++++++++++++++++++++++++++
drivers/bluetooth/btusb_qcom.h | 99 +
include/net/bluetooth/hci_core.h | 5 +
include/net/bluetooth/hci_mon.h | 2 +
net/bluetooth/hci_core.c | 45 +
net/bluetooth/hci_sock.c | 8 +
9 files changed, 4843 insertions(+), 2 deletions(-)
---
base-commit: 755cf7adf8dd2d12627cb7de223d35b12228e2f5
change-id: 20260824-btusb_qcc2072-abb918ab4220
Best regards,
--
Zijun Hu <zijun.hu@xxxxxxxxxxxxxxxx>
---
Zijun Hu (4):
Bluetooth: btusb: Add recv_intr() hook to btusb_data
Bluetooth: Add generic support for vendor packets
Bluetooth: btusb: Build the driver from multiple source files
Bluetooth: btusb: Add support for Qualcomm multi-subsystem QCC2072
drivers/bluetooth/Kconfig | 14 +
drivers/bluetooth/Makefile | 3 +
drivers/bluetooth/{btusb.c => btusb_main.c} | 127 +-
drivers/bluetooth/btusb_qcom.c | 4542 +++++++++++++++++++++++++++
drivers/bluetooth/btusb_qcom.h | 99 +
include/net/bluetooth/hci_core.h | 5 +
include/net/bluetooth/hci_mon.h | 2 +
net/bluetooth/hci_core.c | 45 +
net/bluetooth/hci_sock.c | 8 +
9 files changed, 4843 insertions(+), 2 deletions(-)
---
base-commit: 1b737f2ef1686d0e5a7661eaeb097aad53ea7040
change-id: 20260910-btusb_qcc2072-7ad665e4560a
Best regards,
--
Zijun Hu <zijun.hu@xxxxxxxxxxxxxxxx>