rt2x00: Ensure TX-ed frames are returned in the original state.
authorGertjan van Wingerde <gwingerde@gmail.com>
Mon, 13 Dec 2010 11:33:12 +0000 (12:33 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 13 Dec 2010 20:23:34 +0000 (15:23 -0500)
commita061a93b6eb8db8227b251666436da1e344771a0
tree8145775182d681ded6b21bf998325708ac9e9f67
parentd7bb5f845f437662296adbfeaab8fbfce1c32289
rt2x00: Ensure TX-ed frames are returned in the original state.

Recent changes to the TX-done code of rt2x00 resulted in TX-ed frames not
being returned to mac80211 in the original state, and therefore with
insufficient headroom for re-transmissions.

Fix this by reverting the changes done and by ensuring we remove the inserted
L2pad by moving the header backwards instead of the data forwards.

At the same time also make sure that the rt2x00queue_remove_l2pad will not
move any memory when a frame has no data at all.

Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
Cc: Jay Hung <Jay_Hung@ralinktech.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00queue.c