diff options
author | Wen Gong <wgong@codeaurora.org> | 2018-08-28 19:48:42 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2018-09-03 19:57:03 +0300 |
commit | 828853ac58265c93249b53ba81782213962d5d4e (patch) | |
tree | e66b210659b1148bcb74842eda49e02b076ca744 /drivers/net/wireless/ath/ath10k/wow.c | |
parent | 9d5804662ce1f9bdde0a14c3c40940acbbf09538 (diff) | |
download | linux-828853ac58265c93249b53ba81782213962d5d4e.tar.xz |
ath10k: add waiting htt tx complete before wow enable
If there are some tx packets pending in firmware, and then system
enters suspend, firmware will fail for wow enable. This will trigger
mac80211 to stop ath10k and download firmware again, then it is
non-wow suspend.
After add the waiting htt tx complete, then firmware will have some
time window to send or flush the pending tx packets.
Tested with QCA6174 PCI with firmware
WLAN.RM.4.4.1-00109-QCARMSWPZ-1, but this will also affect QCA9377 PCI.
It's not a regression with new firmware releases.
Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wow.c')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/wow.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wow.c b/drivers/net/wireless/ath/ath10k/wow.c index a6b179f88d36..af444dfecae9 100644 --- a/drivers/net/wireless/ath/ath10k/wow.c +++ b/drivers/net/wireless/ath/ath10k/wow.c @@ -374,6 +374,8 @@ int ath10k_wow_op_suspend(struct ieee80211_hw *hw, goto cleanup; } + ath10k_mac_wait_tx_complete(ar); + ret = ath10k_wow_enable(ar); if (ret) { ath10k_warn(ar, "failed to start wow: %d\n", ret); |