linux/drivers/net/wireless/mediatek/mt76
Lorenzo Bianconi 7bd0650be6 mt76: dma: fix buffer unmap with non-linear skbs
mt76 dma layer is supposed to unmap skb data buffers while keep txwi
mapped on hw dma ring. At the moment mt76 wrongly unmap txwi or does
not unmap data fragments in even positions for non-linear skbs. This
issue may result in hw hangs with A-MSDU if the system relies on IOMMU
or SWIOTLB. Fix this behaviour properly unmapping data fragments on
non-linear skbs.

Fixes: 17f1de56df ("mt76: add common code shared between multiple chipsets")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-10-30 16:59:48 +02:00
..
mt76x0 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-15 14:17:27 +02:00
mt76x2 mt76: mt76x2e: disable pcie_aspm by default 2019-10-30 16:59:46 +02:00
mt7603 mt76: mt7603: use devm_platform_ioremap_resource() to simplify code 2019-09-05 18:14:13 +02:00
mt7615 mt76: mt7615: fix mt7615 firmware path definitions 2019-09-24 17:45:30 +03:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile mt76: mt76x2e: disable pcie_aspm by default 2019-10-30 16:59:46 +02:00
agg-rx.c mt76: fix some checkpatch warnings 2019-09-05 17:42:32 +02:00
debugfs.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
dma.c mt76: dma: fix buffer unmap with non-linear skbs 2019-10-30 16:59:48 +02:00
dma.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
eeprom.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mac80211.c mt76: make mt76_rx_convert static 2019-09-05 18:14:10 +02:00
mcu.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mmio.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76.h mt76: dma: fix buffer unmap with non-linear skbs 2019-10-30 16:59:48 +02:00
mt76x02.h mt76: add default implementation for mt76_sw_scan/mt76_sw_scan_complete 2019-09-05 17:42:32 +02:00
mt76x02_beacon.c mt76: mt76x02: do not copy beacon skb in mt76x02_mac_set_beacon_enable 2019-09-05 17:42:31 +02:00
mt76x02_debugfs.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_dfs.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_dfs.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_dma.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_eeprom.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_eeprom.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_mac.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_mac.h mt76: mt76x02: do not copy beacon skb in mt76x02_mac_set_beacon_enable 2019-09-05 17:42:31 +02:00
mt76x02_mcu.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_mcu.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_mmio.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_phy.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_phy.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_regs.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_trace.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_trace.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_txrx.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_usb.h mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_usb_core.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_usb_mcu.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
mt76x02_util.c mt76: do not send BAR frame on tx aggregation flush stop 2019-09-05 17:42:32 +02:00
pci.c mt76: mt76x2e: disable pcie_aspm by default 2019-10-30 16:59:46 +02:00
trace.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
trace.h mt76: fix some checkpatch warnings 2019-09-05 17:42:32 +02:00
tx.c mt76: remove offchannel check in tx scheduling 2019-09-05 17:42:32 +02:00
usb.c mt76: fix some checkpatch warnings 2019-09-05 17:42:32 +02:00
usb_trace.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
usb_trace.h mt76: fix some checkpatch warnings 2019-09-05 17:42:32 +02:00
util.c mt76: switch to SPDX tag instead of verbose boilerplate text 2019-09-05 17:42:31 +02:00
util.h mt76: fix some checkpatch warnings 2019-09-05 17:42:32 +02:00