diff options
author | Rajkumar Manoharan <rmanohar@qti.qualcomm.com> | 2014-10-10 14:08:27 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2014-10-12 19:43:05 +0200 |
commit | 82d7aba71541a308bc19e869f7cf7423672dee37 (patch) | |
tree | 3cf1348c349ff1c6c3769574152b082f0544ba14 /drivers/net/wireless/ath/ath10k/mac.c | |
parent | ath10k: add tracing for frame transmission (diff) | |
download | linux-82d7aba71541a308bc19e869f7cf7423672dee37.tar.xz linux-82d7aba71541a308bc19e869f7cf7423672dee37.zip |
ath10k: fix kernel panic while shutting down AP
Based on GFP flag given to DMA coherent allocation, the behaviour of
dma_free_coherent is changed. This behavioural diffrence is noticeable
in ARM platform. If DMA memory is allocated with GFP_KERNEL, free
coherent can not be called inside spin lock. This is causing kernel
crash in ARM platforms. Fix this by changing GFP flag to atomic.
This is most likely a regression from commit 64badcb6d645 ("ath10k: workaround
fw beaconing bug").
Cc: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/mac.c')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/mac.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 11918575decc..b2bd80c4f72c 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -2839,7 +2839,7 @@ static int ath10k_add_interface(struct ieee80211_hw *hw, arvif->beacon_buf = dma_zalloc_coherent(ar->dev, IEEE80211_MAX_FRAME_LEN, &arvif->beacon_paddr, - GFP_KERNEL); + GFP_ATOMIC); if (!arvif->beacon_buf) { ret = -ENOMEM; ath10k_warn(ar, "failed to allocate beacon buffer: %d\n", |