ath11k: allow system suspend to survive ath11k
Subsystems (2)
PATCH 1/1 ath11k: allow system suspend to survive ath11k
When ath11k runs into internal errors upon suspend, it returns an error code to pci_pm_suspend, which aborts the entire system suspend.
The driver should not abort system suspend, but should keep its internal errors to itself, and allow the system to suspend. Otherwise, a user can suspend a laptop by closing the lid and sealing it into a case, assuming that is will suspend, rather than heating up and draining the battery when in transit.
In practice, the ath11k device seems to have plenty of transient errors, and subsequent suspend cycles after this failure often succeed.
https://bugzilla.kernel.org/show_bug.cgi?id=216968
--- drivers/net/wireless/ath/ath11k/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/ath/ath11k/pci.c +1 -1
@@ -979,7 +979,7 @@ static __maybe_unused int ath11k_pci_pm_suspend(struct device *dev)if (ret)ath11k_warn (ab,"failed to suspend core: %d\n" , ret); -return ret; +return 0 ; }static __maybe_unused int ath11k_pci_pm_resume (struct device *dev)
Signature · 1 line
2.37.2
Re: wifi: ath11k: allow system suspend to survive ath11k
Quoted 15 lines · Len Brown
When ath11k runs into internal errors upon suspend, it returns an error code to
pci_pm_suspend, which aborts the entire system suspend.The driver should not abort system suspend, but should keep its internal errors to itself, and allow the system to suspend. Otherwise, a user can suspend a laptop by closing the lid and sealing it into a case, assuming that is will suspend, rather than heating up and draining the battery when in transit.
In practice, the ath11k device seems to have plenty of transient errors, and subsequent suspend cycles after this failure often succeed.
Quoted 6 lines
https://bugzilla.kernel.org/show_bug.cgi?id=216968
Fixes d1b0c33850d29 ("ath11k: implement suspend for QCA6390 PCI devices")Signed-off-by Len Brown <[email protected]>
Patch applied to wireless.git, thanks.
7c15430822e7 wifi: ath11k: allow system suspend to survive ath11k
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Re: wifi: ath11k: allow system suspend to survive ath11k
I'm a bit of a kernel n00b here, but it's unclear to me that this is the right thing to do and I just wanted to get some clarity. If the ath11k device fails to suspend, my understanding is that it might waste power attempting to talk to the host that's currently asleep. Are we sure that ath11k can recover from ignored failures/skipped teardown?
Quoted 34 lines · Kalle Valo
Quoted 15 lines · Len Brown
When ath11k runs into internal errors upon suspend, it returns an error code to
pci_pm_suspend, which aborts the entire system suspend.The driver should not abort system suspend, but should keep its internal errors to itself, and allow the system to suspend. Otherwise, a user can suspend a laptop by closing the lid and sealing it into a case, assuming that is will suspend, rather than heating up and draining the battery when in transit.
In practice, the ath11k device seems to have plenty of transient errors, and subsequent suspend cycles after this failure often succeed.
Quoted 6 lines
https://bugzilla.kernel.org/show_bug.cgi?id=216968
Fixes d1b0c33850d29 ("ath11k: implement suspend for QCA6390 PCI devices")Signed-off-by Len Brown <[email protected]>Patch applied to wireless.git, thanks.
7c15430822e7wifi: ath11k: allow system suspend to survive ath11k--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches