aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k/snoc.c
diff options
context:
space:
mode:
authorGovind Singh <govinds@codeaurora.org>2018-09-20 10:34:26 +0530
committerKalle Valo <kvalo@codeaurora.org>2018-10-01 17:04:34 +0300
commit393b9b0f830efc21c26a4ef9a9ce4d517eb98463 (patch)
tree9e8738fe8a402bf8523246f5a06dc99356a23054 /drivers/net/wireless/ath/ath10k/snoc.c
parentath10k: move napi_enable to hif_start for consistent pairing (diff)
downloadlinux-dev-393b9b0f830efc21c26a4ef9a9ce4d517eb98463.tar.xz
linux-dev-393b9b0f830efc21c26a4ef9a9ce4d517eb98463.zip
ath10k: disable napi before resource cleanup to avoid "use after free"
CE buffers are cleaned up prior to napi disable and this is causing NULL pointer dereference due to "use after free". Disable napi before resource cleanup to avoid "use after free". Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/snoc.c')
-rw-r--r--drivers/net/wireless/ath/ath10k/snoc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath10k/snoc.c b/drivers/net/wireless/ath/ath10k/snoc.c
index 34703101f569..f7b5b855aab2 100644
--- a/drivers/net/wireless/ath/ath10k/snoc.c
+++ b/drivers/net/wireless/ath/ath10k/snoc.c
@@ -731,9 +731,9 @@ static void ath10k_snoc_buffer_cleanup(struct ath10k *ar)
static void ath10k_snoc_hif_stop(struct ath10k *ar)
{
ath10k_snoc_irq_disable(ar);
- ath10k_snoc_buffer_cleanup(ar);
napi_synchronize(&ar->napi);
napi_disable(&ar->napi);
+ ath10k_snoc_buffer_cleanup(ar);
ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif stop\n");
}