mt76: avoid queue/status spinlocks while passing tx status to mac80211
authorFelix Fietkau <nbd@nbd.name>
Mon, 5 Nov 2018 20:11:39 +0000 (21:11 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 30 Nov 2018 11:29:32 +0000 (12:29 +0100)
commit79d1c94c9c78ea2f90a7218e16946a1dde2527a0
tree77c965da15fa0bd63e6e7bf9fa8f1aed8e4206e7
parent4ece1e0a86b35bbb43d8d3e5268e68c6b4c6294e
mt76: avoid queue/status spinlocks while passing tx status to mac80211

There is some code in the mac80211 tx status processing code that could
potentially call back into the tx codepath.
To avoid deadlocks, make sure that no tx related spinlocks are taken
during the ieee80211_tx_status call.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/dma.c
drivers/net/wireless/mediatek/mt76/mac80211.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
drivers/net/wireless/mediatek/mt76/mt76x02_util.c
drivers/net/wireless/mediatek/mt76/tx.c