On 3/29/2022 10:49 AM, Thorsten Leemhuis wrote:
On 28.03.22 15:33, Thorsten Leemhuis wrote:
Hi, this is your Linux kernel regression tracker.
Rafael, I noticed a regression report in bugzilla.kernel.org that afaics
nobody acted upon since it was reported about a week ago, that's why I
decided to forward it to the lists, maintainers, and the author of the
culprit. To quote from
https://bugzilla.kernel.org/show_bug.cgi?id=215715 :
This turns out to be a platform firmware issue exposed by the commit
indicated as the "first bad one".
It is being addressed by adding a quirk for the affected platform.
Stefan Gottwald 2022-03-21 13:31:43 UTC
Created attachment 300589 [details]
dmesg output from error case
We got a Elo AIO i2 device which most current BIOS where WiFi was working with Kernel 5.12.x but stopped working since Kernel 5.13.19 and newer (5.17.0-rc5).
The kernel error message is:
[ 3.419766] iwlwifi 0000:01:00.0: can't change power state from D3cold to D0 (config space inaccessible)
[ 3.419781] iwlwifi 0000:01:00.0: can't change power state from D3cold to D0 (config space inaccessible)
[ 3.419975] iwlwifi 0000:01:00.0: HW_REV=0xFFFFFFFF, PCI issues?
[ 3.420911] iwlwifi: probe of 0000:01:00.0 failed with error -5
The issue can be solved by adding the iwlwifi driver to the initramfs so it is loaded much earlier and seems to work.
To narrow down the issue I did an git bisect between v5.13.18 and v5.13.19 mainline kernel version which got me to following commit which if reverted fix the issue on this device.
Reverting commit d0660d8ab123ea471064f0828f290bec9593e16b : PCI: Use pci_update_current_state() in pci_enable_device_flags()
FWIW, that afaics is d0660d8ab123 ("PCI: Use pci_update_current_state()
in pci_enable_device_flags()") in mainline.
Sorry, I made a (obvious) cut-n-paste error there: the stable commit
mentioned by the reporter is 14858dcc3b35 ("PCI: Use
pci_update_current_state() in pci_enable_device_flags()") in mainline.
#regzbot introduced: 14858dcc3b35
resolve the issue also in the newer kernels. Seems like the function platform_pci_get_power_state is always returning PCI_D3cold on this device also if this is not true.
Could somebody take a look into this? Or was this discussed somewhere
else already? Or even fixed?
Anyway, to get this tracked:
#regzbot introduced: d0660d8ab123ea471064f0828f290bec9593e16b
#regzbot from: Stefan Gottwald <gottwald@xxxxxxxx>
#regzbot title: pci/iwlwifi: wifi is not working due to PCI power state
change issues
#regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=215715
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
P.S.: As the Linux kernel's regression tracker I'm getting a lot of
reports on my table. I can only look briefly into most of them and lack
knowledge about most of the areas they concern. I thus unfortunately
will sometimes 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
in a public reply, it's in everyone's interest to set the public record
straight.