[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <abc0c24f-2137-41eb-bb99-80aea8dacdb2@quicinc.com>
Date: Mon, 26 Feb 2024 10:09:19 +0800
From: Baochen Qiang <quic_bqiang@...cinc.com>
To: Vlastimil Babka <vbabka@...e.cz>,
Manivannan Sadhasivam
<manivannan.sadhasivam@...aro.org>,
Jeff Johnson <quic_jjohnson@...cinc.com>
CC: Kalle Valo <kvalo@...nel.org>,
Linux Wireless
<linux-wireless@...r.kernel.org>,
<ath11k@...ts.infradead.org>, LKML
<linux-kernel@...r.kernel.org>,
<mhi@...ts.linux.dev>, <linux-arm-msm@...r.kernel.org>
Subject: Re: ath11k allocation failure on resume breaking wifi until power
cycle
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.
So this is why you see WLAN firmware is powered down during suspend.
[1]
https://patchwork.kernel.org/project/linux-wireless/cover/20231127162022.518834-1-kvalo@kernel.org/
>
> 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?
>
>> But if you can share the dmesg after enabling the debug prints of both ath11k
>> and MHI, it will help a lot.
>>
>> - Mani
>>
>>>> This is order 4 (costly order), GFP_NOIO (maybe it's originally GFP_KERNEL
>>>> but we restrict to GFP_NOIO during resume) allocation, thus it's impossible
>>>> to do memory compaction and the page allocator gives up. Such high-order
>>>> allocations should have a fallback using smaller pages, or maybe it could at
>>>> least retry once the restricted GFP_NOIO context is gone.
>>>>
>>>> I don't know why it never happened before 6.8, didn't spot anything obvious
>>>> and it happens too unreliably to go bisect. Any idea?
>>>
>>> I've asked the development team to look at this, but in the interim can
>>> you apply the two hibernation patchsets to see if those cleanups also
>>> fix your problem:
>>>
>>> [PATCH 0/5] wifi: ath11k: prepare for hibernation support
>>> https://lore.kernel.org/linux-wireless/20240221024725.10057-1-quic_bqiang@quicinc.com
>>>
>>> [PATCH 0/3] wifi: ath11k: hibernation support
>>> https://lore.kernel.org/linux-wireless/20240221030026.10553-1-quic_bqiang@quicinc.com
>>
>
>
Powered by blists - more mailing lists