• Felix Fietkau's avatar
    ath9k: improve reliability of beacon transmission and stuck beacon handling · efff395e
    Felix Fietkau authored
    ath9k calls ath9k_hw_stoptxdma every time it sends a beacon, however there
    is not much point in doing that if the previous beacon and mcast traffic
    went out properly. On AR9380, calling that function too often can result
    in an increase of stuck beacons due to differences in the handling of the
    queue enable/disable functionality.
    
    With this patch, the queue will only be explicitly stopped if the previous
    data frames were not sent successfully. With the beacon code being the
    only remaining user of ath9k_hw_stoptxdma, this function can be simplified
    in order to remove the now pointless attempts at waiting for transmission
    completion, which would never happen at this point due to the different
    method of tx scheduling of the beacon queue.
    Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    efff395e
beacon.c 22.3 KB