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(-)
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@oss.qualcomm.com>
---
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@oss.qualcomm.com
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@oss.qualcomm.com
---
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@oss.qualcomm.com>
---
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@oss.qualcomm.com>
Hi Zijun,
On Thu, Sep 10, 2026 at 10:35 AM Zijun Hu <zijun.hu@oss.qualcomm.com> wrote:
>
> 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@oss.qualcomm.com>
> ---
> 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@oss.qualcomm.com
>
> 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@oss.qualcomm.com
>
> ---
> 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@oss.qualcomm.com>
>
> ---
> 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@oss.qualcomm.com>
There seem to be some new problem being flagged by Sashiko:
https://sashiko.dev/#/patchset/20260910-btusb_qcc2072-v4-0-e78f04b7675e%40oss.qualcomm.com
If they are false positives, please add comments so they are not flagged again.
--
Luiz Augusto von Dentz
© 2016 - 2026 Red Hat, Inc.