• Ivo van Doorn's avatar
    rt2x00: Fix TX failure path · 0e3de998
    Ivo van Doorn authored
    The callback function write_tx_data() can only fail
    when our ENTRY_OWNER_DEVICE_DATA flag on a queue entry
    failed to determine the entry was not available and
    it is in fact still owned by the hardware.
    This means that if that function fails the queue
    must be stopped in mac80211.
    
    When rt2x00queue_get_queue() returns NULL in the TX
    path, it means mac80211 has passed us an invalid queue,
    although this should be impossible, it shouldn't hurt
    if we send mac80211 a signal to stop the queue either.
    
    Both issues can simply be resolved by removing their
    manual failure handler and making them use the failure path
    provided in rt2x00mac_tx().
    Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    0e3de998
rt2x00mac.c 19.1 KB