[PATCH] Bluetooth: btusb: do not probe non-HCI interfaces

From: Johann Fischer via B4 Relay

Date: Fri Sep 04 2026 - 18:25:38 EST


From: Johann Fischer <johann.fischer@xxxxxxxxxxxxx>

If the driver selects BTUSB_PROTO_H4, the second interface (voice
channels) remains unclaimed. Then, the btusb_probe() is called for the
second interface. It misidentifies the interface as one that supports
legacy mode and fails with "failed to enumerate endpoints".

Signed-off-by: Johann Fischer <johann.fischer@xxxxxxxxxxxxx>
---
drivers/bluetooth/btusb.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index dfefb43fb792..44f0db347643 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -4293,6 +4293,11 @@ static int btusb_probe(struct usb_interface *intf,
return -ENODEV;
}

+ /* Skip interfaces that do not implement the HCI transport */
+ if (usb_find_common_endpoints(intf->cur_altsetting,
+ &bulk_rx_ep, &bulk_tx_ep, &intr_ep, NULL))
+ return -ENODEV;
+
data = kzalloc_obj(*data);
if (!data)
return -ENOMEM;

---
base-commit: 88a8184cb44c8952e6a6fd21e250445300d1c7aa
change-id: 20260904-btusb-skip-non-hci-ifaces-b52ea298677b

Best regards,
--
Johann