linux/drivers/net/wireless
Felix Fietkau a9daba1401 mt76: fix tx skb error handling in mt76_dma_tx_queue_skb
[ Upstream commit ae064fc0e3 ]

When running out of room in the tx queue after calling drv->tx_prepare_skb,
the buffer list will already have been modified on MT7615 and newer drivers.
This can leak a DMA mapping and will show up as swiotlb allocation failures
on x86.

Fix this by moving the queue length check further up. This is less accurate,
since it can overestimate the needed room in the queue on MT7615 and newer,
but the difference is small enough to not matter in practice.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210216135119.23809-1-nbd@nbd.name
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2021-03-30 14:31:47 +02:00
..
admtek adm8211: fix error return code in adm8211_probe() 2020-12-30 11:53:40 +01:00
ath ath11k: fix AP mode for QCA6390 2021-03-17 17:06:22 +01:00
atmel atmel: convert tasklets to use new tasklet_setup() API 2020-08-27 16:22:02 +03:00
broadcom brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet 2021-03-07 12:34:11 +01:00
cisco airo: switch from 'pci_' to 'dma_' API 2020-09-16 08:56:43 +03:00
intel iwlwifi: Add a new card for MA family 2021-03-25 09:04:13 +01:00
intersil orinoco: Move context allocation after processing the skb 2020-12-30 11:53:21 +01:00
marvell mwifiex: pcie: skip cancel_work_sync() on reset failure path 2021-03-11 14:17:23 +01:00
mediatek mt76: fix tx skb error handling in mt76_dma_tx_queue_skb 2021-03-30 14:31:47 +02:00
microchip net: wilc1000: clean up resource in error path of init mon interface 2020-09-21 16:02:13 +03:00
quantenna qtnfmac: fix error return code in qtnf_pcie_probe() 2020-12-30 11:53:21 +01:00
ralink rt2x00: convert tasklets to use new tasklet_setup() API 2020-08-27 16:22:13 +03:00
realtek rtlwifi: rise completion at the last step of firmware callback 2021-01-12 20:18:26 +01:00
rsi rsi: Move card interrupt handling to RX thread 2021-03-07 12:34:08 +01:00
st cw1200: fix missing destroy_workqueue() on error in cw1200_init_common 2020-12-30 11:53:21 +01:00
ti wlcore: Fix command execute failure 19 for wl12xx 2021-03-07 12:34:09 +01:00
zydas net: zd1211rw: Remove ZD_ASSERT(in_interrupt()) 2020-09-29 14:02:54 -07:00
Kconfig wireless-drivers-next patches for v5.9 2020-07-20 17:52:50 -07:00
mac80211_hwsim.c genetlink: move to smaller ops wherever possible 2020-10-02 19:11:11 -07:00
mac80211_hwsim.h mac80211_hwsim: notify wmediumd of used MAC addresses 2020-04-24 11:45:47 +02:00
Makefile wilc1000: move wilc driver out of staging 2020-06-26 08:46:46 +03:00
ray_cs.c ray_cs: use true,false for bool variable 2020-05-06 11:33:23 +03:00
ray_cs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rayctl.h ray_cs: Replace zero-length array with flexible-array member 2020-03-23 19:18:27 +02:00
rndis_wlan.c rndis_wlan: tighten check of rndis_query_oid return 2020-08-18 15:52:45 +03:00
virt_wifi.c virt_wifi: implement ndo_get_iflink 2020-03-20 14:42:20 +01:00
wl3501.h wl3501_cs: Replace zero-length array with flexible-array member 2020-03-23 19:21:21 +02:00
wl3501_cs.c wl3501_cs: Remove unnecessary NULL check 2020-09-29 11:25:30 +03:00