[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d0cd065c-1cd1-4e56-8c57-60777b1f3664@oss.qualcomm.com>
Date: Wed, 18 Jun 2025 02:15:04 +0200
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Baochen Qiang <quic_bqiang@...cinc.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 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)
Konrad
Powered by blists - more mailing lists