mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 13:41:48 -04:00
Bluetooth: btmtk: fix ISO interface setup for single alt setting
Some MT6639 Bluetooth USB interfaces (e.g. IMC Networks 13d3:3588 on ASUS ROG STRIX X870E-E and ProArt X870E-Creator boards) expose only a single alternate setting (alt 0) on the ISO interface. The driver unconditionally requests alt setting 1, which fails with EINVAL on these devices, causing a ~20 second initialization delay and no LE audio support. Check the number of available alternate settings before selecting one. If only alt 0 exists, use it; otherwise request alt 1 as before. Closes: https://github.com/jetm/mediatek-mt7927-dkms/pull/39 Signed-off-by: Javier Tia <floss@jetm.me> Reported-by: Ryan Gilbert <xelnaga@gmail.com> Tested-by: Ryan Gilbert <xelnaga@gmail.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
committed by
Luiz Augusto von Dentz
parent
28b7c5a6db
commit
e4f6bc7f82
@@ -1029,7 +1029,8 @@ static int __set_mtk_intr_interface(struct hci_dev *hdev)
|
||||
if (!btmtk_data->isopkt_intf)
|
||||
return -ENODEV;
|
||||
|
||||
err = usb_set_interface(btmtk_data->udev, MTK_ISO_IFNUM, 1);
|
||||
err = usb_set_interface(btmtk_data->udev, MTK_ISO_IFNUM,
|
||||
(intf->num_altsetting > 1) ? 1 : 0);
|
||||
if (err < 0) {
|
||||
bt_dev_err(hdev, "setting interface failed (%d)", -err);
|
||||
return err;
|
||||
|
||||
Reference in New Issue
Block a user