summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2026-03-30 11:41:34 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2026-04-13 09:18:16 -0400
commit120941654f187674b3aac4d546c2a915965b3937 (patch)
treeaba65af8d77c9d764db64b26c1d86e7248d0a7d8 /drivers
parent5c31aaa05624b54dc18c9e313bcee5a88c025593 (diff)
downloadlinux-next-120941654f187674b3aac4d546c2a915965b3937.tar.gz
linux-next-120941654f187674b3aac4d546c2a915965b3937.zip
Bluetooth: btmtk: refactor endpoint lookup
Use the common USB helper for looking up bulk and interrupt endpoints instead of open coding. Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bluetooth/btmtk.c29
1 files changed, 5 insertions, 24 deletions
diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c
index 55516b4602db..c3e5975b9f37 100644
--- a/drivers/bluetooth/btmtk.c
+++ b/drivers/bluetooth/btmtk.c
@@ -995,7 +995,7 @@ static int __set_mtk_intr_interface(struct hci_dev *hdev)
{
struct btmtk_data *btmtk_data = hci_get_priv(hdev);
struct usb_interface *intf = btmtk_data->isopkt_intf;
- int i, err;
+ int err;
if (!btmtk_data->isopkt_intf)
return -ENODEV;
@@ -1006,29 +1006,10 @@ static int __set_mtk_intr_interface(struct hci_dev *hdev)
return err;
}
- btmtk_data->isopkt_tx_ep = NULL;
- btmtk_data->isopkt_rx_ep = NULL;
-
- for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) {
- struct usb_endpoint_descriptor *ep_desc;
-
- ep_desc = &intf->cur_altsetting->endpoint[i].desc;
-
- if (!btmtk_data->isopkt_tx_ep &&
- usb_endpoint_is_int_out(ep_desc)) {
- btmtk_data->isopkt_tx_ep = ep_desc;
- continue;
- }
-
- if (!btmtk_data->isopkt_rx_ep &&
- usb_endpoint_is_int_in(ep_desc)) {
- btmtk_data->isopkt_rx_ep = ep_desc;
- continue;
- }
- }
-
- if (!btmtk_data->isopkt_tx_ep ||
- !btmtk_data->isopkt_rx_ep) {
+ err = usb_find_common_endpoints(intf->cur_altsetting, NULL, NULL,
+ &btmtk_data->isopkt_rx_ep,
+ &btmtk_data->isopkt_tx_ep);
+ if (err) {
bt_dev_err(hdev, "invalid interrupt descriptors");
return -ENODEV;
}