This patch set flushes all data and management packets before suspend, so the 500ms delay workaround in ath12k_core_suspend is not needed and removed. Due to MHI bugs, at the moment we are not able to shutdown and fully power off the device. As a workaround we put firmware to WoW state to make sure no unexpected activities while host is in suspend. With all suspend/resume functionality implemented, we change supports_suspend to true for WCN7850 to make it work. Baochen Qiang (3): wifi: ath12k: Flush all packets before suspend wifi: ath12k: Put firmware to WoW state during suspend wifi: ath12k: Turn on suspend/resume switch for WCN7850 drivers/net/wireless/ath/ath12k/Makefile | 1 + drivers/net/wireless/ath/ath12k/core.c | 31 ++++- drivers/net/wireless/ath/ath12k/core.h | 4 + drivers/net/wireless/ath/ath12k/hw.c | 2 +- drivers/net/wireless/ath/ath12k/mac.c | 44 ++++-- drivers/net/wireless/ath/ath12k/mac.h | 1 + drivers/net/wireless/ath/ath12k/wmi.c | 107 +++++++++++++++ drivers/net/wireless/ath/ath12k/wmi.h | 165 +++++++++++++++++++++++ drivers/net/wireless/ath/ath12k/wow.c | 74 ++++++++++ drivers/net/wireless/ath/ath12k/wow.h | 30 +++++ 10 files changed, 442 insertions(+), 17 deletions(-) create mode 100644 drivers/net/wireless/ath/ath12k/wow.c create mode 100644 drivers/net/wireless/ath/ath12k/wow.h base-commit: b21fe5be53eb873c02e7479372726c8aeed171e3 -- 2.25.1