• Ilan peer's avatar
    mac80211: Complete ampdu work schedule during session tear down · 98e93e96
    Ilan peer authored
    Commit 7a7c0a64 ("mac80211: fix TX aggregation start/stop callback race")
    added a cancellation of the ampdu work after the loop that stopped the
    Tx and Rx BA sessions. However, in some cases, e.g., during HW reconfig,
    the low level driver might call mac80211 APIs to complete the stopping
    of the BA sessions, which would queue the ampdu work to handle the actual
    completion. This work needs to be performed as otherwise mac80211 data
    structures would not be properly synced.
    
    Fix this by checking if BA session STOP_CB bit is set after the BA session
    cancellation and properly clean the session.
    Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
    [Johannes: the work isn't flushed because that could do other things we
     don't want, and the locking situation isn't clear]
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    98e93e96
ht.c 16.7 KB