2024-02-26 09:25:50

by Vlastimil Babka

[permalink] [raw]
Subject: Re: ath11k allocation failure on resume breaking wifi until power cycle

On 2/26/24 03:09, Baochen Qiang wrote:
>
>
> On 2/23/2024 11:28 PM, Vlastimil Babka wrote:
>> On 2/22/24 06:47, Manivannan Sadhasivam wrote:
>>> On Wed, Feb 21, 2024 at 08:34:23AM -0800, Jeff Johnson wrote:
>>>> On 2/21/2024 6:39 AM, Vlastimil Babka wrote:
>>>>> Hi,
>>>>>
>>>>> starting with 6.8 rc series, I'm experiencing problems on resume from s2idle
>>>>> on my laptop, which is Lenovo T14s Gen3:
>>>>>
>>>>> LENOVO 21CRS0K63K/21CRS0K63K, BIOS R22ET65W (1.35 )
>>>>> ath11k_pci 0000:01:00.0: wcn6855 hw2.1
>>>>> ath11k_pci 0000:01:00.0: chip_id 0x12 chip_family 0xb board_id 0xff soc_id 0x400c1211
>>>>> ath11k_pci 0000:01:00.0: fw_version 0x1106196e fw_build_timestamp 2024-01-12 11:30 fw_build_id WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.37
>>>>>
>>>>> The problem is an allocation failure happening on resume from s2idle. After
>>>>> that the wifi stops working and even a reboot won't fix it, only a
>>>>> poweroff/poweron cycle of the laptop.
>>>>>
>>>
>>> Looks like WLAN is powered down during s2idle, which doesn't make sense. I hope
>>> Jeff will figure out what's going on.
>>
>> You mean the firmware is supposed to power it down/up transparently without
>> kernel involvement? Because it should be powered down to save the power, no?
> Let me clarify: from backtrace info, seems you are using a kernel with
> the hibernation-support patches [1] applied, which are not accepted yet
> to mainline kernel or even
> git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi.git.

Oh, you're right. Sorry for confusing you all. The rc kernel builds we have
for openSUSE have nearly no non-upstream patches so it didn't really occur
to me to double check if there might be in the area.

Seems Takashi (Cc'd) added them indeed to make hibernation work:
https://bugzilla.suse.com/show_bug.cgi?id=1207948#c51

But then, why do they affect also s2idle, is it intentional? And why I only
started seeing the problems in 6.8, the patches are there since August.

> So this is why you see WLAN firmware is powered down during suspend.
>
> [1]
> https://patchwork.kernel.org/project/linux-wireless/cover/[email protected]/
>
>>
>> But I just found out that when I build my own kernel using the distro config
>> as base but reduced by make localmodconfig, the "mhi mhi0: Requested to
>> power ON" and related messages don't occur anymore, so there's something
>> weird going on.
> Here your own kernel doesn't include the hibernation-support patches, right?

Right.