wl1271: Correction to TX block allocation calculation
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>
Thu, 8 Oct 2009 18:56:18 +0000 (21:56 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 27 Oct 2009 20:47:48 +0000 (16:47 -0400)
Correct the TX path implementation to allocate sufficient blocks in the
firmware for TX packets.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1271_tx.c

index ff221258b941e9e122d4f49b9168936abea51e3d..0c19688f4405e81ea8de543e4dc8fa6b778fd8c3 100644 (file)
@@ -58,7 +58,7 @@ static int wl1271_tx_allocate(struct wl1271 *wl, struct sk_buff *skb, u32 extra)
        /* approximate the number of blocks required for this packet
           in the firmware */
        /* FIXME: try to figure out what is done here and make it cleaner */
-       total_blocks = (skb->len) >> TX_HW_BLOCK_SHIFT_DIV;
+       total_blocks = (total_len) >> TX_HW_BLOCK_SHIFT_DIV;
        excluded = (total_blocks << 2) + (skb->len & 0xff) + 34;
        total_blocks += (excluded > 252) ? 2 : 1;
        total_blocks += TX_HW_BLOCK_SPARE;