linux_dsm_epyc7002/drivers/net
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
..
appletalk netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
arcnet netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
bonding bonding: rename AD_STATE_* to LACP_STATE_* 2019-12-26 13:09:37 -08:00
caif net: caif: replace BUG_ON with recovery code 2019-12-16 16:29:05 -08:00
can can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode 2020-01-02 15:34:27 +01:00
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
ethernet net: amd: a2065: Use print_hex_dump_debug() helper 2020-01-12 16:20:26 -08:00
fddi
fjes Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
hamradio Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
hippi
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 09:54:33 -08:00
ieee802154
ipvlan
netdevsim devlink: rename and expand devlink-trap-netdevsim.rst 2020-01-10 17:07:00 -08:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
plip
ppp ppp: Remove redundant BUG_ON() check in ppp_pernet 2019-12-27 16:30:52 -08:00
slip netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
team
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
vmxnet3 vmxnet3: Remove always false conditional statement 2020-01-08 16:07:21 -08:00
wan wan: ixp4xx_hss: prepare compile testing 2020-01-12 12:59:52 -08:00
wimax netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
wireguard net: introduce skb_list_walk_safe for skb segment walking 2020-01-08 15:19:54 -08:00
wireless ath10k: Correct the DMA direction for management tx buffers 2020-01-26 16:28:20 +02:00
xen-netback xen-netback: support dynamic unbind/bind 2019-12-26 15:16:26 -08:00
dummy.c
eql.c
geneve.c treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
gtp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
ifb.c
Kconfig wireguard: Kconfig: select parent dependency for crypto 2019-12-16 19:22:22 -08:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
macvtap.c
Makefile net: WireGuard secure network tunnel 2019-12-08 17:48:42 -08:00
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: use skb_list_walk_safe helper for gso segments 2020-01-08 15:19:55 -08:00
thunderbolt.c
tun.c
veth.c
virtio_net.c
vrf.c
vsockmon.c
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
xen-netfront.c