Bug 219365
Summary: | USB bluetooth dongle stop working after upgrade from 6.11.1 to 6.11.2 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Adilson Dantas (adilson) |
Component: | Bluetooth | Assignee: | linux-bluetooth (linux-bluetooth) |
Status: | RESOLVED IMPLEMENTED | ||
Severity: | normal | CC: | adilson, foliden163, luiz.dentz, pmenzel+bugzilla.kernel.org, regressions |
Priority: | P3 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 6.11.2 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
Trace usbmon file from a kernel without the fault commit.
Trace usbmon file from a kernel with the fault commit. |
Description
Adilson Dantas
2024-10-09 04:50:54 UTC
Thank you for your report, and great that you can build the Linux kernel yourself.
> Maybe is one or all commits has caused the regression on my BT dongle
It’d be great if you tested each of the three commits. (Normally, `git bisect start -- drivers/bluetooth/btusb.c net/bluetooth/`, and then `git bisect good v6.11.1` and `git bisect bad v6.11.2`, would do that automatically.)
If you already have git clone, then:
git remote add stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
git fetch stable
or, if you do not,
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Then
git reset --hard f68f72d04b60d3af36b63b888fe084966bca07b9
build and test. If it does *not* work, it’s the fault commit.
Then
git reset --hard 846a6fc7860119ee72737391856497b3fcf7c2b5
If it does *not* work, it’s the fault commit.
Then
git reset --hard 8603daa4300b84abb3c68e48f3b607d7d5a2a207
If it does *not* work, it’s the fault commit.
It’d be also good to know, if it works with current Linux master branch, or 6.12-rc2.
I tested each commit with 6.11.2 and 6.12-rc2 and I have isolated the regression at commit 8603daa4300b84abb3c68e48f3b607d7d5a2a207 Bluetooth: btusb: Fix not handling ZPL/short-transfer [ Upstream commit 7b05933340f4490ef5b09e84d644d12484b05fdf ] Reverting this commit fix the regression on my BT dongle. (In reply to Paul Menzel from comment #1) > Thank you for your report, and great that you can build the Linux kernel > yourself. > > > Maybe is one or all commits has caused the regression on my BT dongle > > It’d be great if you tested each of the three commits. (Normally, `git > bisect start -- drivers/bluetooth/btusb.c net/bluetooth/`, and then `git > bisect good v6.11.1` and `git bisect bad v6.11.2`, would do that > automatically.) > > If you already have git clone, then: > > git remote add stable > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git > git fetch stable > > or, if you do not, > > git clone > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git > > Then > > git reset --hard f68f72d04b60d3af36b63b888fe084966bca07b9 > > build and test. If it does *not* work, it’s the fault commit. > > Then > > git reset --hard 846a6fc7860119ee72737391856497b3fcf7c2b5 > > If it does *not* work, it’s the fault commit. > > Then > > git reset --hard 8603daa4300b84abb3c68e48f3b607d7d5a2a207 > > If it does *not* work, it’s the fault commit. > > It’d be also good to know, if it works with current Linux master branch, or > 6.12-rc2. Thx for the bisection. As Paul mentioned earlier: "It’d be also good to know, if it works with current Linux master branch, or 6.12-rc2." I'd say it's not only "good to know", it's requires, as that determines whom we need to contact. (In reply to The Linux kernel's regression tracker (Thorsten Leemhuis) from comment #3) > Thx for the bisection. As Paul mentioned earlier: "It’d be also good to > know, if it works with current Linux master branch, or 6.12-rc2." I'd say > it's not only "good to know", it's requires, as that determines whom we need > to contact. I also tested with 6.12-rc2 and it is affected by this regression. Crap, looks like these old CSR dongle don't really handle the ZPL/sort-transfers, so we will likely need some workaround for these, most likely a new quirk. I guess we need to USB traces to check if that really what is at play since we are giving a bigger buffer to the USB stack perhaps it expecting the ZLP to finish the transfer but it never happens for some reason. Created attachment 306997 [details]
Trace usbmon file from a kernel without the fault commit.
Trace usbmon file from a kernel without the fault commit.
My BT dongle works fine when it is plugged
Created attachment 306998 [details]
Trace usbmon file from a kernel with the fault commit.
Trace usbmon file from a kernel with the fault commit.
My BT Dongle fails when it is plugged.
(In reply to Luiz Von Dentz from comment #6) > I guess we need to USB traces to check if that really what is at play since > we are giving a bigger buffer to the USB stack perhaps it expecting the ZLP > to finish the transfer but it never happens for some reason. I upload two traces from usbmon module. One from a kernel without the fault commit. So it is working fine. And another from a kernel with the fault commit. It fails when is plugged. I hope that theses files should help (In reply to Luiz Von Dentz from comment #10) > https://patchwork.kernel.org/project/bluetooth/patch/20241015153719.497388-1- > luiz.dentz@gmail.com/ I tested this patch with 6.11.3 and it worked with my BT dongle. Thanks. Closing it since this regression is resolved with kernel 6.11.5. (In reply to Luiz Von Dentz from comment #5) > Crap, looks like these old CSR dongle don't really handle the > ZPL/sort-transfers, so we will likely need some workaround for these, most > likely a new quirk. Same issue (with same BT adapter) after upgrade from 6.8.0-52 to 6.8.0-53 and/or 6.8.0-54 (Ubuntu 24.04 LTS, Linux Mint 22.1) |