• Emmanuel Grumbach's avatar
    iwlwifi: mvm: fix aggregation drain flow · e3d4bc8c
    Emmanuel Grumbach authored
    Move the counter for non-AMPDU frames to mvm. It is needed
    for the drain flow which happens once the ieee80211_sta has
    been freed, so keeping it in iwl_mvm_sta which is embed into
    ieee80211_sta is not a good idea.
    
    Also, since its purpose it to remove the STA in the fw only
    after all the frames for this station have exited the shared
    Tx queues, we need to decrement it in the reclaim flow. This
    flow can happen after ieee80211_sta has been removed, which
    means that we have no iwl_mvm_sta there. So we can't know
    what is the vif type. Hence, we know audit these frames for
    all the vif types.
    In order to avoid spawning sta_drained_wk all the time, we
    now check that we are in a flow in which draining might
    happen - only when mvmsta is NULL. This is better than
    previous code that would spawn sta_drained_wk all the time
    in AP mode.
    
    Cc: stable@vger.kernel.org [3.9]
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Reviewed-by: default avatarIlan Peer <ilan.peer@intel.com>
    Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    e3d4bc8c
tx.c 27.6 KB