mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
|
From 7c15430822e71e90203d87e6d0cfe83fa058b0dc Mon Sep 17 00:00:00 2001
|
||
|
From: Len Brown <len.brown@intel.com>
|
||
|
Date: Wed, 1 Feb 2023 12:32:01 -0600
|
||
|
Subject: [PATCH] wifi: 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
|
||
|
|
||
|
Fixes: d1b0c33850d29 ("ath11k: implement suspend for QCA6390 PCI devices")
|
||
|
|
||
|
Signed-off-by: Len Brown <len.brown@intel.com>
|
||
|
Cc: stable@vger.kernel.org
|
||
|
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
||
|
Link: https://lore.kernel.org/r/20230201183201.14431-1-len.brown@intel.com
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath11k/pci.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath11k/pci.c
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/pci.c
|
||
|
@@ -981,7 +981,7 @@ static __maybe_unused int ath11k_pci_pm_
|
||
|
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)
|