Bug 203429
Summary: | RTL8822BE (USB id 13d3:3526) rfkill unblock fails 1 out of 3 attempts | ||
---|---|---|---|
Product: | Drivers | Reporter: | João Paulo Rechi Vita (jprvita) |
Component: | Bluetooth | Assignee: | linux-bluetooth (linux-bluetooth) |
Status: | NEW --- | ||
Severity: | normal | ||
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.0.0 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
btmon logs
dyndbg trace |
Created attachment 282541 [details]
dyndbg trace
|
Created attachment 282539 [details] btmon logs When rfkill un-blocking this controller using the Bluetooth settings panel on gnome-control-center, about 1 out of 3 attempts fail. We can see in the kernel logs (with dynamic debug enabled) and in btmon that a HCI reset is getting a timeout. Interestingly, the problem is only reproducible if there was a LE scanning procedure running before the rfkill switch was blocked. So blocking and unblocking the adapter in a loop like the one bellow does not hit the problem: while true ; do echo 1 > /sys/class/rfkill/rfkill2/soft ; sleep 1 ; do echo 0 > /sys/class/rfkill/rfkill2/soft ; sleep 3 ; done But if I also run another loop in parallel trying to start a LE scan (which fails most of the time because the adapter is OFF, but things align and a scan starts quite a few times), the problem reproduces very easily: while true ; do btmgmt find -l ; done