[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <7ADF39E2-647E-49E2-9C5B-B0BF6A303B95@holtmann.org>
Date: Fri, 18 Dec 2020 22:23:08 +0100
From: Marcel Holtmann <marcel@...tmann.org>
To: Trent Piepho <tpiepho@...il.com>
Cc: linux-bluetooth <linux-bluetooth@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Hilda Wu <hildawu@...ltek.com>,
Sathish Narasimman <sathish.narasimman@...el.com>,
Chethan T N <chethan.tumkur.narayan@...el.com>,
Hsin-Yu Chao <hychao@...omium.org>,
Amit K Bag <amit.k.bag@...el.com>,
Johan Hedberg <johan.hedberg@...il.com>,
Luiz Augusto von Dentz <luiz.dentz@...il.com>
Subject: Re: [PATCH] Bluetooth: btusb: Always fallback to alt 1 for WBS
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@...il.com>
> ---
> drivers/bluetooth/btusb.c | 20 ++++++--------------
> 1 file changed, 6 insertions(+), 14 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
Powered by blists - more mailing lists