0037-wifi-ath11k-allow-system-suspend-to-survive-ath11k.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. From 7c15430822e71e90203d87e6d0cfe83fa058b0dc Mon Sep 17 00:00:00 2001
  2. From: Len Brown <len.brown@intel.com>
  3. Date: Wed, 1 Feb 2023 12:32:01 -0600
  4. Subject: [PATCH] wifi: ath11k: allow system suspend to survive ath11k
  5. When ath11k runs into internal errors upon suspend,
  6. it returns an error code to pci_pm_suspend, which
  7. aborts the entire system suspend.
  8. The driver should not abort system suspend, but should
  9. keep its internal errors to itself, and allow the system
  10. to suspend. Otherwise, a user can suspend a laptop
  11. by closing the lid and sealing it into a case, assuming
  12. that is will suspend, rather than heating up and draining
  13. the battery when in transit.
  14. In practice, the ath11k device seems to have plenty of transient
  15. errors, and subsequent suspend cycles after this failure
  16. often succeed.
  17. https://bugzilla.kernel.org/show_bug.cgi?id=216968
  18. Fixes: d1b0c33850d29 ("ath11k: implement suspend for QCA6390 PCI devices")
  19. Signed-off-by: Len Brown <len.brown@intel.com>
  20. Cc: stable@vger.kernel.org
  21. Signed-off-by: Kalle Valo <kvalo@kernel.org>
  22. Link: https://lore.kernel.org/r/20230201183201.14431-1-len.brown@intel.com
  23. ---
  24. drivers/net/wireless/ath/ath11k/pci.c | 2 +-
  25. 1 file changed, 1 insertion(+), 1 deletion(-)
  26. --- a/drivers/net/wireless/ath/ath11k/pci.c
  27. +++ b/drivers/net/wireless/ath/ath11k/pci.c
  28. @@ -998,7 +998,7 @@ static __maybe_unused int ath11k_pci_pm_
  29. if (ret)
  30. ath11k_warn(ab, "failed to resume core: %d\n", ret);
  31. - return ret;
  32. + return 0;
  33. }
  34. static SIMPLE_DEV_PM_OPS(ath11k_pci_pm_ops,