Re: [REGRESSION] Bluetooth not working on 5.15+ since "Bluetooth: Move shutdown callback before flushing tx and rx queue"

From: Thorsten Leemhuis
Date: Thu Jan 20 2022 - 08:09:02 EST


On 10.12.21 10:16, Thorsten Leemhuis wrote:
> Hi, this is your Linux kernel regression tracker speaking.

/me again

> On 10.12.21 02:10, An, Tedd wrote:
>> On Fri, 2021-12-10 at 01:36 +0200, coldolt wrote:
>>> After a restart, bluetooth doesn't work since commit 0ea53674d07f
>>> "Bluetooth: Move shutdown callback before flushing tx and rx queue"
>>>
>>> bluetoothctl doesn't list any controllers and I get the following in
>>> dmesg | grep -i bluetooth
>>>
>>> [    2.634812] Bluetooth: Core ver 2.22
>>> [    2.634843] NET: Registered PF_BLUETOOTH protocol family
>>> [    2.634845] Bluetooth: HCI device and connection manager initialized
>>> [    2.634850] Bluetooth: HCI socket layer initialized
>>> [    2.634853] Bluetooth: L2CAP socket layer initialized
>>> [    2.634858] Bluetooth: SCO socket layer initialized
>>> [    4.077788] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
>>> [    4.077794] Bluetooth: BNEP filters: protocol multicast
>>> [    4.077799] Bluetooth: BNEP socket layer initialized
>>> [    4.078219] random: bluetoothd: uninitialized urandom read (4 bytes read)
>>> [    4.852835] Bluetooth: hci0: Reading Intel version command failed (-110)
>>> [    4.852838] Bluetooth: hci0: command 0xfc05 tx timeout
>>>
>>> However, it works after a cold start or after putting the computer to sleep.
>>>
>>> Before 83f2dafe2a62 "Bluetooth: btintel: Refactoring setup routine for
>>> legacy ROM sku", it always works after a restart, but from that commit
>>> up until before 0ea53674d07f it either works or doesn't work after a
>>> restart depending on if before restart it was working or not, meaning
>>> it stays working or stays not working.
>>>
>>> Also on the first restart from before 83f2dafe2a62 into 0ea53674d07f
>>> or later it works, but then restarting again into 0ea53674d07f or
>>> later it no longer works. So it seems that 0ea53674d07f and later puts
>>> the bluetooth in a nonworking state if you restart from it, but before
>>> 83f2dafe2a62 it puts it back into a working state at startup, and in
>>> between it doesn't do either, i.e. it stays the way it was.
>>>
>>> I have a Dell Latitude E5550 laptop with an Intel 7265 wifi/bluetooth
>>> card REV=0x210 firmware version 29.4063824552.0 7265D-29. I'm on Arch
>>> Linux, the problem is still there on 5.16-rc4.
>>>
>>> Here is a thread on the Arch Linux forums with several people with the
>>> same problem, for some of them it got fixed with a kernel update or by
>>> reloading modules, but not for everybody, including me
>>> https://bbs.archlinux.org/viewtopic.php?id=271459
>>>
>>> #regzbot introduced 0ea53674d07f
>
> Many thx for directly getting regzbot involved! :-D
>
>> This issue is under investigation to find the root cause and proper solution.
>
> Only internally? Or are there any other related public discussions that
> are relevant to this and thus good to be aware of?

What's the status here? It looks like there was no progress since 41
days, which is awfully long even with the festive season in between.
Could anyone provide a status update please?

Ciao, Thorsten

#regzbot poke

P.S.: As a Linux kernel regression tracker I'm getting a lot of reports
on my table. I can only look briefly into most of them. Unfortunately
therefore I sometimes will get things wrong or miss something important.
I hope that's not the case here; if you think it is, don't hesitate to
tell me about it in a public reply, that's in everyone's interest.

BTW, I have no personal interest in this issue, which is tracked using
regzbot, my Linux kernel regression tracking bot
(https://linux-regtracking.leemhuis.info/regzbot/). I'm only posting
this mail to get things rolling again and hence don't need to be CC on
all further activities wrt to this regression.

>> The downloaded firmware breaks the behavior though, we need to investigate
>> further to see if it can be fixed in firmware or fix in the driver.
>
> The answer from my point is simple: it needs to be fixed in the kernel,
> not just in the firmware, otherwise people that update the kernel
> without updating the firmware at the same time will run into a
> regression -- and that is not acceptable by kernel development standards.
>
> Ciao, Thorsten
>
> P.S.: As a Linux kernel regression tracker I'm getting a lot of reports
> on my table. I can only look briefly into most of them. Unfortunately
> therefore I sometimes will get things wrong or miss something important.
> I hope that's not the case here; if you think it is, don't hesitate to
> tell me about it in a public reply. That's in everyone's interest, as
> what I wrote above might be misleading to everyone reading this; any
> suggestion I gave they thus might sent someone reading this down the
> wrong rabbit hole, which none of us wants.
>
> BTW, I have no personal interest in this issue, which is tracked using
> regzbot, my Linux kernel regression tracking bot
> (https://linux-regtracking.leemhuis.info/regzbot/). I'm only posting
> this mail to get things rolling again and hence don't need to be CC on
> all further activities wrt to this regression.