diff options
author | Ido Yariv | 2010-10-12 16:20:06 +0200 |
---|---|---|
committer | John W. Linville | 2010-11-15 19:25:06 +0100 |
commit | 25eeb9e3876a161e3afcc820c6cb72e13f9b7c7e (patch) | |
tree | 433aef6e8bc0ec254c99ebbfce150cb104078185 /drivers/net/wireless/wl12xx/wl1271.h | |
parent | wl1271: Fix TX starvation (diff) | |
download | kernel-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.h | 1 |
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; |