mt7601u: fix tx status reporting contexts
authorJakub Kicinski <kubakici@wp.pl>
Fri, 31 Jul 2015 13:04:48 +0000 (15:04 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 10 Aug 2015 19:19:34 +0000 (22:19 +0300)
commit4513493d188d5e3052aee68eda85eaaa1a4e41c2
treebc9e79e33f8576939cabdfa1eee142901141ffe1
parentd9517c0a5d7468a7ea63086057604fcb0fff480e
mt7601u: fix tx status reporting contexts

mac80211 requires that rx path does not run concurrently with
tx status reporting.  Since rx path is run in driver tasklet,
tx status cannot be reported directly from interrupt context
(there would be no way to lock it out).

Add tasklet for tx and move all possible code from irq handler
there.

Note: tx tasklet is needed because workqueue is queued very
      rarely and that kills TCP performance.

Signed-off-by: Jakub Kicinski <kubakici@wp.pl>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mediatek/mt7601u/dma.c
drivers/net/wireless/mediatek/mt7601u/init.c
drivers/net/wireless/mediatek/mt7601u/mac.c
drivers/net/wireless/mediatek/mt7601u/mt7601u.h