]> git.baikalelectronics.ru Git - kernel.git/commit
wl12xx: Restart TX when TX descriptors are available
authorIdo Yariv <ido@wizery.com>
Mon, 18 Apr 2011 13:44:11 +0000 (16:44 +0300)
committerLuciano Coelho <coelho@ti.com>
Mon, 2 May 2011 07:27:13 +0000 (10:27 +0300)
commitd0a28171704e7568e3828d336b4fe70e18f5bbc8
tree5961f34f1b5d7e27de8a674222f6aa28841f2341
parent5c6ae1060594af58ff2a5b968698eb23ac78d6ed
wl12xx: Restart TX when TX descriptors are available

The driver stops sending TX packets when either there aren't enough
memory blocks, or it runs out of TX descriptors. The driver continues to
send packets to the FW only when more memory blocks are available.

The FW might free TX descriptors without freeing the corresponding
memory blocks, especially when dynamic memory is enabled. In cases where
memory blocks are not freed at all, the driver will keep waiting for
more memory blocks indefinitely.

Fix this by clearing the WL1271_FLAG_FW_TX_BUSY flag when there are
available TX descriptors.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/tx.c