• Ivo van Doorn's avatar
    rt2x00: Reorganize padding & L2 padding · daee6c09
    Ivo van Doorn authored
    The old function rt2x00queue_payload_align() handled
    both adding and removing L2 padding and some basic
    frame alignment. The entire function was being abused
    because it had multiple functions and the header length
    argument was somtimes used to align the header instead
    of the payload.
    
    Additionally there was a bug when inserting L2 padding
    that only the payload was aligned but not the header. This
    happens when the header wasn't aligned properly by mac80211,
    but rt2x00lib only moves the payload.
    
    A secondary problem was that when removing L2 padding during
    TXdone or RX the skb wasn't resized to the proper size.
    
    Split the function into seperate functions each handling
    its task as it should.
    Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    daee6c09
rt2x00dev.c 23.8 KB