summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/tx.c
diff options
context:
space:
mode:
authorIdo Yariv <ido@wizery.com>2011-03-31 10:07:00 +0200
committerLuciano Coelho <coelho@ti.com>2011-04-19 15:49:20 +0200
commitd2f4d47d84f8c665ab9babb2cc84d2e7872a96e1 (patch)
tree34a2d0fe6f399c7c3c7bf1e2e85fb0adf5aa378f /drivers/net/wireless/wl12xx/tx.c
parentwl12xx: Clean up the dummy packet mechanism (diff)
downloadlinux-d2f4d47d84f8c665ab9babb2cc84d2e7872a96e1.tar.xz
linux-d2f4d47d84f8c665ab9babb2cc84d2e7872a96e1.zip
wl12xx: Simplify TX blocks accounting
The total number of TX memory blocks may change when the dynamic memory option is enabled. The current implementation only tracks the available memory blocks, which over-complicates TX blocks accounting. By tracking the number of allocated blocks, calculation of the number of available blocks becomes simpler and cleaner. It simply equals the total number of TX memory blocks minus the allocated ones. Also, remove some unnecessary castings and use union member accesses instead. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/tx.c')
-rw-r--r--drivers/net/wireless/wl12xx/tx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
index 67245ad396ea..7a3339fd3415 100644
--- a/drivers/net/wireless/wl12xx/tx.c
+++ b/drivers/net/wireless/wl12xx/tx.c
@@ -203,6 +203,7 @@ static int wl1271_tx_allocate(struct wl1271 *wl, struct sk_buff *skb, u32 extra,
desc->id = id;
wl->tx_blocks_available -= total_blocks;
+ wl->tx_allocated_blocks += total_blocks;
if (wl->bss_type == BSS_TYPE_AP_BSS)
wl->links[hlid].allocated_blks += total_blocks;