mirror_ubuntu-kernels/drivers/net/wireless/ath
Rakesh Pillai 6ba8b3b6bd ath10k: Correct the DMA direction for management tx buffers
The management packets, send to firmware via WMI, are
mapped using the direction DMA_TO_DEVICE. Currently in
case of wmi cleanup, these buffers are being unmapped
using an incorrect DMA direction. This can cause unwanted
behavior when the host driver is handling a restart
of the wlan firmware.

We might see a trace like below

[<ffffff8008098b18>] __dma_inv_area+0x28/0x58
[<ffffff8001176734>] ath10k_wmi_mgmt_tx_clean_up_pending+0x60/0xb0 [ath10k_core]
[<ffffff80088c7c50>] idr_for_each+0x78/0xe4
[<ffffff80011766a4>] ath10k_wmi_detach+0x4c/0x7c [ath10k_core]
[<ffffff8001163d7c>] ath10k_core_stop+0x58/0x68 [ath10k_core]
[<ffffff800114fb74>] ath10k_halt+0xec/0x13c [ath10k_core]
[<ffffff8001165110>] ath10k_core_restart+0x11c/0x1a8 [ath10k_core]
[<ffffff80080c36bc>] process_one_work+0x16c/0x31c

Fix the incorrect DMA direction during the wmi
management tx buffer cleanup.

Tested HW: WCN3990
Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1

Fixes: dc405152bb ("ath10k: handle mgmt tx completion event")
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2020-01-26 16:28:20 +02:00
..
ar5523 drivers: net: Fix Kconfig indentation, continued 2019-11-21 11:54:09 -08:00
ath5k ath5k: eeprom: Remove unneeded variable 2019-10-31 10:21:54 +02:00
ath6kl net/wireless: Use kmemdup rather than duplicating its implementation 2019-10-02 07:16:10 +03:00
ath9k ath9k: use true,false for bool variable 2020-01-26 12:19:02 +02:00
ath10k ath10k: Correct the DMA direction for management tx buffers 2020-01-26 16:28:20 +02:00
ath11k ath11k: fix up some error paths 2020-01-26 12:51:00 +02:00
carl9170 mac80211: simplify TX aggregation start 2019-10-04 13:58:13 +02:00
wcn36xx wcn36xx: disable HW_CONNECTION_MONITOR 2019-12-18 19:59:08 +02:00
wil6210 wil6210: use true,false for bool variable 2020-01-26 12:19:14 +02:00
ath.h ath: Remove unnecessary ath_bcast_mac and use eth_broadcast_addr 2018-03-29 12:10:26 +03:00
debug.c
dfs_pattern_detector.c ath: DFS JP domain W56 fixed pulse type 3 RADAR detection 2019-04-29 17:58:51 +03:00
dfs_pattern_detector.h ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
dfs_pri_detector.c
dfs_pri_detector.h ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
hw.c
Kconfig Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2019-12-10 11:34:30 +02:00
key.c
main.c
Makefile ath11k: driver for Qualcomm IEEE 802.11ax devices 2019-11-25 14:16:34 +02:00
reg.h
regd_common.h ath: regd: add extra US coutry codes 2019-02-07 17:02:19 +02:00
regd.c ath: add support for special 0x0 regulatory domain 2019-12-02 12:08:01 +02:00
regd.h ath: drop duplicated define 2019-04-29 17:55:53 +03:00
spectral_common.h
trace.c
trace.h