1. 02 4月, 2015 1 次提交
  2. 30 3月, 2015 1 次提交
  3. 18 3月, 2015 1 次提交
    • E
      iwlwifi: mvm: properly flush the queues for buffering transport · fe92e32a
      Emmanuel Grumbach 提交于
      There are transport that must buffer frames in the driver.
      This means that we have frames that are not in the op_mode
      and not visible to the firwmare. This causes issues when we
      flush the queues: the op_mode flushes a queue, and the
      firmware flushes all the frames that are *currently* on the
      rings, but if the transport buffers frames, it can submit
      these while we are flushing. This leads to a situation
      where we still have frames on the queues after we flushed
      them.
      Preventing those buffered frame from getting into the
      firmware is possible, but then, we have to run the Tx
      response path on frames that didn't reach the firmware
      which is not desirable.
      The way I solve this here is to let these frames go to the
      firmware, but make sure the firmware will not transmit them
      (by setting the station as draining). The op_mode then needs
      to wait until the transport itself is empty to be sure that
      the queue is really empty.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      fe92e32a
  4. 12 3月, 2015 2 次提交
  5. 01 2月, 2015 1 次提交
  6. 22 1月, 2015 3 次提交
  7. 29 12月, 2014 2 次提交
  8. 24 11月, 2014 5 次提交
  9. 11 11月, 2014 1 次提交
  10. 29 10月, 2014 1 次提交
  11. 21 9月, 2014 1 次提交
  12. 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
  13. 14 9月, 2014 1 次提交
  14. 04 9月, 2014 5 次提交
  15. 21 7月, 2014 2 次提交
  16. 08 7月, 2014 1 次提交
  17. 25 6月, 2014 1 次提交
  18. 13 5月, 2014 1 次提交
  19. 14 4月, 2014 1 次提交
  20. 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
  21. 16 3月, 2014 1 次提交
  22. 12 3月, 2014 1 次提交
  23. 07 2月, 2014 1 次提交
  24. 04 2月, 2014 2 次提交
  25. 31 1月, 2014 1 次提交