]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitdf480203066d9f47e2a28a839e48c1396635be7e
treebc9e79e33f8576939cabdfa1eee142901141ffe1
parentd4f07f7fa3c7e9c5301392d8a8dc22a0a701c128
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