• Johannes Berg's avatar
    iwlwifi: mvm: fix flushing not started aggregation sessions · b6658ff8
    Johannes Berg authored
    When a not fully started aggregation session is destroyed
    and flushed, we get a warning, e.g.
    
      WARNING: at drivers/net/wireless/iwlwifi/pcie/tx.c:1142 iwl_trans_pcie_txq_disable+0x11c/0x160
      queue 16 not used
      Modules linked in: [...]
      Pid: 5135, comm: hostapd Tainted: G        W  O 3.5.0 #10
      Call Trace:
      wlan0: driver sets block=0 for sta 00:03:7f:10:44:d3
       [<ffffffff81036492>] warn_slowpath_common+0x72/0xa0
       [<ffffffff81036577>] warn_slowpath_fmt+0x47/0x50
       [<ffffffffa0368d6c>] iwl_trans_pcie_txq_disable+0x11c/0x160 [iwlwifi]
       [<ffffffffa03a2099>] iwl_mvm_sta_tx_agg_flush+0xe9/0x150 [iwlmvm]
       [<ffffffffa0396c43>] iwl_mvm_mac_ampdu_action+0xf3/0x1e0 [iwlmvm]
       [<ffffffffa0293ad3>] ___ieee80211_stop_tx_ba_session+0x193/0x920 [mac80211]
       [<ffffffffa0294ed8>] __ieee80211_stop_tx_ba_session+0x48/0x70 [mac80211]
       [<ffffffffa029159f>] ieee80211_sta_tear_down_BA_sessions+0x4f/0x80 [mac80211]
       [<ffffffffa028a686>] __sta_info_destroy+0x66/0x370 [mac80211]
       [<ffffffffa028abb4>] sta_info_destroy_addr_bss+0x44/0x70 [mac80211]
       [<ffffffffa02a3e26>] ieee80211_del_station+0x26/0x50 [mac80211]
       [<ffffffffa01e6395>] nl80211_del_station+0x85/0x200 [cfg80211]
    
    when a station deauthenticated from us without fully setting
    up the aggregation session.
    
    Fix this by checking the aggregation state before removing
    the hardware queue.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    b6658ff8
sta.c 36.7 KB