lkml.org 
[lkml]   [2022]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Bug 215715 - PCI device (iwlwifi) is not working due to PCI power state change issues
From
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@igel.com>
>> #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.
>>

\
 
 \ /
  Last update: 2022-03-31 21:15    [W:0.053 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site