linux-uconsole/drivers/net
Rakesh Pillai 2a044ba370 ath10k: Correct the DMA direction for management tx buffers
[ Upstream commit 6ba8b3b6bd ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-24 08:34:39 +01:00
..
appletalk
arcnet arcnet: provide a buffer big enough to actually receive packets 2019-10-05 13:09:26 +02:00
bonding bonding/alb: properly access headers in bond_alb_xmit() 2020-02-11 04:34:14 -08:00
caif
can can, slip: Protect tty->disc_data in write_wakeup and close with RCU 2020-01-29 16:43:14 +01:00
dsa net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan() 2020-02-11 04:34:16 -08:00
ethernet gianfar: Fix TX timestamping with a stacked DSA driver 2020-02-24 08:34:35 +01:00
fddi
fjes fjes: fix missed check in fjes_acpi_add 2019-12-31 16:34:36 +01:00
hamradio 6pack,mkiss: fix possible deadlock 2020-01-04 19:13:27 +01:00
hippi
hyperv hv_netvsc: flag software created hash value 2020-01-27 14:51:21 +01:00
ieee802154 ieee802154: ca8210: prevent memory leak 2019-10-29 09:19:31 +01:00
ipvlan
netdevsim
phy net: phy: don't clear BMCR in genphy_soft_reset 2020-01-27 14:50:34 +01:00
plip
ppp ppp: Adjust indentation into ppp_async_input 2020-02-11 04:34:13 -08:00
slip can, slip: Protect tty->disc_data in write_wakeup and close with RCU 2020-01-29 16:43:14 +01:00
team team: Add vlan tx offload to hw_enc_features 2019-08-25 10:48:04 +02:00
usb r8152: get default setting of WOL before initializing 2020-02-05 14:43:51 +00:00
vmxnet3
wan net: wan: sdla: Fix cast from pointer to integer of different size 2020-02-01 09:37:08 +00:00
wimax wimax/i2400m: fix a memory leak bug 2019-09-10 10:33:48 +01:00
wireless ath10k: Correct the DMA direction for management tx buffers 2020-02-24 08:34:39 +01:00
xen-netback net: xen-netback: fix return type of ndo_start_xmit function 2019-11-24 08:19:18 +01:00
dummy.c
eql.c
geneve.c
gtp.c gtp: use __GFP_NOWARN to avoid memalloc warning 2020-02-11 04:33:52 -08:00
ifb.c
Kconfig geneve: change NET_UDP_TUNNEL dependency to select 2019-12-05 09:21:10 +01:00
LICENSE.SRC
loopback.c
macsec.c macsec: let the administrator set UP state even if lowerdev is down 2019-12-01 09:17:03 +01:00
macvlan.c macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() 2020-01-23 08:21:34 +01:00
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c failover: Fix error return code in net_failover_create 2019-11-20 18:46:12 +01:00
netconsole.c
nlmon.c
ntb_netdev.c ntb_netdev: fix sleep time mismatch 2019-12-01 09:17:13 +01:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() 2020-01-29 16:43:17 +01:00
veth.c
virtio_net.c
vrf.c vrf: mark skb for multicast or link-local as enslaved to VRF 2019-12-01 09:17:28 +01:00
vsockmon.c
vxlan.c vxlan: changelink: Fix handling of default remotes 2020-01-27 14:50:07 +01:00
xen-netfront.c xen-netfront: do not use ~0U as error return value for xennet_fill_frags() 2019-10-07 18:57:25 +02:00