rt2x00: Fix padding bug on L2PAD devices.
authorGertjan van Wingerde <gwingerde@gmail.com>
Tue, 24 Nov 2009 22:11:32 +0000 (23:11 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 4 Dec 2009 18:30:39 +0000 (13:30 -0500)
While reviewing the l2pad function to align both the header and the payload
on a DMA-capable boundary a bug was discovered where the payload would not
be properly aligned. The header_align value was used where the payload_align
value should have been used.

Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00queue.c

index 32d4aeabfd4da5afe7879744bf3604d0801a7b6c..239afc7a9c0bd180f267e961641ebb2d611c3d94 100644 (file)
@@ -214,7 +214,7 @@ void rt2x00queue_insert_l2pad(struct sk_buff *skb, unsigned int header_length)
                skb_push(skb, header_align);
                memmove(skb->data, skb->data + header_align, header_length);
                memmove(skb->data + header_length + l2pad,
-                       skb->data + header_length + l2pad + header_align,
+                       skb->data + header_length + l2pad + payload_align,
                        frame_length - header_length);
                skbdesc->flags |= SKBDESC_L2_PADDED;
        }