]> 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)
commit42df50d05945da14bf2e1df2c337772086b8d752
treebc9e79e33f8576939cabdfa1eee142901141ffe1
parentb28f1ccbc952af377ccc77b21ecf72f6278fd7f9
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