[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51da74b0-d8d3-4520-9fc9-06b50b552bb2@quicinc.com>
Date: Wed, 18 Jun 2025 10:00:46 +0800
From: Baochen Qiang <quic_bqiang@...cinc.com>
To: Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
Johannes Berg
<johannes@...solutions.net>,
Jeff Johnson <jjohnson@...nel.org>
CC: <linux-wireless@...r.kernel.org>, <ath11k@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, Takashi Iwai <tiwai@...e.de>,
Bjorn Andersson
<bjorn.andersson@....qualcomm.com>,
Johan Hovold <johan+linaro@...nel.org>
Subject: Re: [PATCH ath-next v3 5/6] wifi: ath11k: choose default PM policy
for hibernation
On 6/18/2025 8:15 AM, Konrad Dybcio wrote:
> On 3/28/25 6:32 AM, Baochen Qiang wrote:
>> Now WoWLAN mode is chosen for those machines listed in the quirk table.
>> This works for suspend (S3) but breaks for hibernation (S4), because
>> WoWLAN mode requires WLAN power to be sustained, which is not the case
>> during hibernation. For hibernation, the default mode should be used.
>>
>> Register a PM notifier with which kernel can notify us of the actual PM
>> operation: if system is going to suspend, the original PM policy is
>> honored; while if it is hibernation, overwrite it with default policy.
>>
>> To summarize: for suspend (S3), WoWLAN mode is chosen for machines listed
>> in the quirk table, non-WoWLAN mode for others; for hibernation (S4),
>> non-WoWLAN mode is chosen for all.
>>
>> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
>>
>> Tested-by: Takashi Iwai <tiwai@...e.de>
>> Signed-off-by: Baochen Qiang <quic_bqiang@...cinc.com>
>> ---
>
> I've bisected the following splat to this patch, still happening on
> linux-next/master, WCN6855 + SC8280XP CRD, 100% reproducibility
>
> [root@...280xp-crd ~]# echo mem > /sys/power/state
> [ 20.267830] fb0: Framebuffer is not in virtual address space.
> [ 39.863070] PM: suspend entry (s2idle)
> [ 39.908067] Filesystems sync: 0.035 seconds
> [ 39.934453] ------------[ cut here ]------------
> [ 39.939259] Invalid notifier called!
> [ 39.939268] WARNING: CPU: 5 PID: 513 at kernel/notifier.c:79 notifier_call_chain+0x84/0x1a4
> [ 39.951566] Modules linked in:
> [ 39.954732] CPU: 5 UID: 0 PID: 513 Comm: bash Not tainted 6.14.0-rc4longbois-01215-g32d93b51bc7e #12177
> [ 39.964396] Hardware name: Qualcomm QRD, BIOS 6.0.230525.BOOT.MXF.1.1.c1-00114-MAKENA-1 05/25/2023
> [ 39.973609] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 39.980777] pc : notifier_call_chain+0x84/0x1a4
> [ 39.985457] lr : notifier_call_chain+0x80/0x1a4
> [ 39.990135] sp : ffff800087e63b30
> [ 39.993559] x29: ffff800087e63b40 x28: ffffb17be1150da0 x27: 0000000000000000
> [ 40.000913] x26: 0000000000000000 x25: 0000000000000000 x24: ffffb17be1723000
> [ 40.008261] x23: ffff529452a99ac0 x22: 0000000000000003 x21: 0000000000000000
> [ 40.015607] x20: 00000000fffffffa x19: ffff800087e63ba4 x18: ffff800083e7d088
> [ 40.022953] x17: 0000000000000000 x16: ffff529452a9a3d8 x15: ffffb17be1a81420
> [ 40.030296] x14: ffffffffffffffff x13: 0000000000000003 x12: 00000000ffffefff
> [ 40.037642] x11: 0000000000000001 x10: 0000000000000003 x9 : 88af25dfec9f7000
> [ 40.044988] x8 : 88af25dfec9f7000 x7 : 0000000000000000 x6 : 0000000000000000
> [ 40.052336] x5 : 0000000000000001 x4 : 0000000000000000 x3 : ffff800087e63818
> [ 40.059680] x2 : ffff800087e63820 x1 : 00000000ffffefff x0 : 0000000000000018
> [ 40.067033] Call trace:
> [ 40.069573] notifier_call_chain+0x84/0x1a4 (P)
> [ 40.074250] notifier_call_chain_robust+0x4c/0xa8
> [ 40.079108] blocking_notifier_call_chain_robust+0x54/0x88
> [ 40.084761] pm_notifier_call_chain_robust+0x2c/0x4c
> [ 40.089881] pm_suspend+0x1f4/0x628
> [ 40.093495] state_store+0x6c/0x9c
> [ 40.097010] kobj_attr_store+0x20/0x38
> [ 40.100898] sysfs_kf_write+0x58/0x78
> [ 40.104686] kernfs_fop_write_iter+0xe8/0x184
> [ 40.109181] vfs_write+0x2dc/0x308
> [ 40.112699] ksys_write+0x80/0xe8
> [ 40.116135] __arm64_sys_write+0x24/0x34
> [ 40.120195] invoke_syscall+0x48/0x100
> [ 40.124071] el0_svc_common+0xb4/0xe8
> [ 40.127853] do_el0_svc+0x24/0x34
> [ 40.131286] el0_svc+0x58/0xb4
> [ 40.134450] el0t_64_sync_handler+0x114/0x130
> [ 40.138954] el0t_64_sync+0x1a0/0x1a4
> [ 40.142747] irq event stamp: 17062
> [ 40.146269] hardirqs last enabled at (17061): [<ffffb17bdd587204>] __console_unlock+0x5c/0x8c
> [ 40.155129] hardirqs last disabled at (17062): [<ffffb17bdeb6bd24>] el1_dbg+0x2c/0x80
> [ 40.163186] softirqs last enabled at (15294): [<ffffb17bdd500a98>] handle_softirqs+0x38c/0x3dc
> [ 40.172137] softirqs last disabled at (15289): [<ffffb17bdd480204>] __do_softirq+0x1c/0x2c
> [ 40.180644] ---[ end trace 0000000000000000 ]---
> [ 40.186333] Freezing user space processes
> [ 40.192527] Freezing user space processes completed (elapsed 0.002 seconds)
> [ 40.199721] OOM killer disabled.
> [ 40.203083] Freezing remaining freezable tasks
> [ 40.209029] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
Could you share complete kernel dmesg log?
>
> Konrad
Powered by blists - more mailing lists