1. 24 11月, 2014 5 次提交
  2. 11 11月, 2014 1 次提交
  3. 29 10月, 2014 1 次提交
  4. 21 9月, 2014 1 次提交
  5. 16 9月, 2014 1 次提交
    • A
      iwlwifi: mvm: prepare for scheduler config command · 3edf8ff6
      Avri Altman 提交于
      The scheduler is a HW sub-block that directs the work of the Flow
      Handler by issuing requests for frame transfers, specifying source
      and destination. Its primary function is to allocate flows into the
      TX FIFOs based upon a pre-determined mapping.
      
      The driver has some responsibilities to the scheduler, namely
      initialising and maintaining the hardware registers. This is
      currently done by directly accessing them, which can cause races
      with the firmware also accessing the registers.
      
      To address this problem, change the driver to no longer directly
      access the registers but go through the firmware for this if the
      firmware has support for DQA and thus the new command.
      Signed-off-by: NAvri Altman <avri.altman@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3edf8ff6
  6. 14 9月, 2014 1 次提交
  7. 04 9月, 2014 5 次提交
  8. 21 7月, 2014 2 次提交
  9. 08 7月, 2014 1 次提交
  10. 25 6月, 2014 1 次提交
  11. 13 5月, 2014 1 次提交
  12. 14 4月, 2014 1 次提交
  13. 13 4月, 2014 2 次提交
    • M
      iwlwifi: mvm: Use RCU_INIT_POINTER(x, NULL) · c531c771
      Monam Agarwal 提交于
      rcu_assign_pointer() ensures that the initialization of a structure is
      carried out before storing a pointer to that structure. However, in the
      case that NULL is assigned there's no structure to initialize so using
      RCU_INIT_POINTER instead is safe and more efficient.
      Signed-off-by: NMonam Agarwal <monamagarwal123@gmail.com>
      [rewrite commit log]
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      c531c771
    • E
      iwlwifi: mvm: don't set AP STA to EINVAL · d13c8dca
      Emmanuel Grumbach 提交于
      Now that mac80211 calls pre_rcu_remove and we set the
      fw_id_to_mac_id pointer to -ENOENT before the station is
      removed, we don't need to set fw_id_to_mac_id to -EINVAL
      when the station is really removed.
      Leave fw_id_to_mac_id to be -ENOENT which will let the
      drain worker (iwl_mvm_sta_drained_wk) know that this station
      is not to be drained.
      We don't need to drain this station since it is our AP in
      managed mode and we flush all its frames synchronously
      anyway.
      
      Setting the AP station to -EINVAL could lead to confusion
      since internal stations are also reserved with -EINVAL,
      this confusion showed up in the logs as:
      
      Drained sta 0, but it is internal?
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      d13c8dca
  14. 16 3月, 2014 1 次提交
  15. 12 3月, 2014 1 次提交
  16. 07 2月, 2014 1 次提交
  17. 04 2月, 2014 2 次提交
  18. 31 1月, 2014 1 次提交
  19. 01 1月, 2014 1 次提交
  20. 18 12月, 2013 2 次提交
  21. 16 12月, 2013 1 次提交
    • J
      iwlwifi: mvm: use pre-RCU-sync sta removal operation · 1ddbbb0c
      Johannes Berg 提交于
      iwlmvm relies on the current mac80211 behaviour of allowing
      station pointers to be valid for an RCU grace period after
      returning from the sta_state() callback. To optimise these
      cases, this behaviour is going away, so make the driver use
      the new sta_pre_rcu_remove() method to clear the pointer in
      the fw_id_to_mac_id[] array.
      
      Since this may happen while the station is still present in
      the firmware, don't set the pointer to NULL but to -ENOENT
      to mark this particular case. In client mode, the station
      is kept even longer (until marking the MAC as unassociated)
      so the drain flow must take this new behavior into account.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1ddbbb0c
  22. 10 12月, 2013 2 次提交
  23. 11 10月, 2013 3 次提交
  24. 03 10月, 2013 1 次提交
  25. 26 7月, 2013 1 次提交
    • J
      iwlwifi: mvm: fix flushing not started aggregation sessions · b6658ff8
      Johannes Berg 提交于
      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: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b6658ff8