diff options
| author | Johan Hovold <johan@kernel.org> | 2026-03-30 11:41:34 +0200 |
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2026-04-13 09:18:16 -0400 |
| commit | 120941654f187674b3aac4d546c2a915965b3937 (patch) | |
| tree | aba65af8d77c9d764db64b26c1d86e7248d0a7d8 /drivers | |
| parent | 5c31aaa05624b54dc18c9e313bcee5a88c025593 (diff) | |
| download | linux-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.c | 29 |
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; } |
