summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271.h
diff options
context:
space:
mode:
authorIdo Yariv2010-10-12 16:20:06 +0200
committerJohn W. Linville2010-11-15 19:25:06 +0100
commit25eeb9e3876a161e3afcc820c6cb72e13f9b7c7e (patch)
tree433aef6e8bc0ec254c99ebbfce150cb104078185 /drivers/net/wireless/wl12xx/wl1271.h
parentwl1271: Fix TX starvation (diff)
downloadkernel-qcow2-linux-25eeb9e3876a161e3afcc820c6cb72e13f9b7c7e.tar.gz
kernel-qcow2-linux-25eeb9e3876a161e3afcc820c6cb72e13f9b7c7e.tar.xz
kernel-qcow2-linux-25eeb9e3876a161e3afcc820c6cb72e13f9b7c7e.zip
wl1271: Allocate TX descriptors more efficiently
On each TX descriptor allocation, a free entry is found by traversing the TX descriptors array. Improve this by holding a bitmap of all TX descriptors, and using efficient bit operations to search for free entries. 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>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271.h')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271.h b/drivers/net/wireless/wl12xx/wl1271.h
index 4a034a3f7148..718e96d97d0b 100644
--- a/drivers/net/wireless/wl12xx/wl1271.h
+++ b/drivers/net/wireless/wl12xx/wl1271.h
@@ -398,6 +398,7 @@ struct wl1271 {
struct work_struct tx_work;
/* Pending TX frames */
+ unsigned long tx_frames_map[BITS_TO_LONGS(ACX_TX_DESCRIPTORS)];
struct sk_buff *tx_frames[ACX_TX_DESCRIPTORS];
int tx_frames_cnt;