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, 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. |