Hi Trent, > When alt mode 6 is not available, fallback to the kernel <= 5.7 behavior > of always using alt mode 1. > > Prior to kernel 5.8, btusb would always use alt mode 1 for WBS (Wide > Band Speech aka mSBC aka transparent SCO). In commit baac6276c0a9 > ("Bluetooth: btusb: handle mSBC audio over USB Endpoints") this > was changed to use alt mode 6, which is the recommended mode in the > Bluetooth spec (Specifications of the Bluetooth System, v5.0, Vol 4.B > §2.2.1). However, many if not most BT USB adapters do not support alt > mode 6. In fact, I have been unable to find any which do. > > In kernel 5.8, this was changed to use alt mode 6, and if not available, > use alt mode 0. But mode 0 has a zero byte max packet length and can > not possibly work. It is just there as a zero-bandwidth dummy mode to > work around a USB flaw that would prevent device enumeration if > insufficient bandwidth were available for the lowest isoc mode > supported. > > In effect, WBS was broken for all USB-BT adapters that do not support > alt 6, which appears to nearly all of them. > > Then in commit 461f95f04f19 ("Bluetooth: btusb: USB alternate setting 1 for > WBS") the 5.7 behavior was restored, but only for Realtek adapters. > > I've tested a Broadcom BRCM20702A and CSR 8510 adapter, both work with > the 5.7 behavior and do not with the 5.8. > > So get rid of the Realtek specific flag and use the 5.7 behavior for all > adapters as a fallback when alt 6 is not available. This was the > kernel's behavior prior to 5.8 and I can find no adapters for which it > is not correct. And even if there is an adapter for which this does not > work, the current behavior would be to fall back to alt 0, which can not > possibly work either, and so is no better. > > Signed-off-by: Trent Piepho <tpiepho@xxxxxxxxx> > --- > drivers/bluetooth/btusb.c | 20 ++++++-------------- > 1 file changed, 6 insertions(+), 14 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel