]> git.baikalelectronics.ru Git - kernel.git/commit
wl1271: Fix TX starvation
authorIdo Yariv <ido@wizery.com>
Tue, 12 Oct 2010 12:49:10 +0000 (14:49 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Nov 2010 18:25:05 +0000 (13:25 -0500)
commited427ea2335526ca8507e2015ebf3ea3f6e300ba
tree3cee18d0f0dbbb3c5bff27488c0d302821e4f1d8
parentdc50f80918731517d49dfd070ac8c16819bdbaa4
wl1271: Fix TX starvation

While wl1271_irq_work handles RX directly (by calling wl1271_rx), a different
work is scheduled for transmitting packets. The IRQ work might handle more than
one interrupt during a single call, including multiple TX completion
interrupts. This might starve TX, since no packets are transmitted until all
interrupts are handled.

Fix this by calling the TX work function directly, instead of deferring
it.

Signed-off-by: Ido Yariv <ido@wizery.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
drivers/net/wireless/wl12xx/wl1271.h
drivers/net/wireless/wl12xx/wl1271_main.c
drivers/net/wireless/wl12xx/wl1271_tx.c
drivers/net/wireless/wl12xx/wl1271_tx.h