On Tue, 2010-10-12 at 10:53 +0200, ext Ido Yariv wrote: > 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@xxxxxxxxxx> > --- > drivers/net/wireless/wl12xx/wl1271.h | 1 + > drivers/net/wireless/wl12xx/wl1271_main.c | 19 +++++++++++++++---- > drivers/net/wireless/wl12xx/wl1271_tx.c | 14 ++++++++++---- > drivers/net/wireless/wl12xx/wl1271_tx.h | 1 + > 4 files changed, 27 insertions(+), 8 deletions(-) > Thanks for reworking this. This looks good to me now. Reviewed-by: Juuso Oikarinen <juuso.oikarinen@xxxxxxxxx> -Juuso -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html