1. 08 2月, 2017 1 次提交
  2. 07 2月, 2017 2 次提交
    • S
      iwlwifi: mvm: fix pending frame counter calculation · 94c3e614
      Sara Sharon 提交于
      In DQA mode the check whether to decrement the pending frames
      counter relies on the tid status and not on the txq id.
      This may result in an inconsistent state of the pending frames
      counter in case frame is queued on a non aggregation queue but
      with this TID, and will be followed by a failure to remove the
      station and later on SYSASSERT 0x3421 when trying to remove the
      MAC.
      Such frames are for example bar and qos NDPs.
      Fix it by aligning the condition of incrementing the counter
      with the condition of decrementing it - rely on TID state for
      DQA mode.
      Also, avoid internal error like this affecting station removal
      for DQA mode - since we can know for sure it is an internal
      error.
      
      Fixes: cf961e16 ("iwlwifi: mvm: support dqa-mode agg on non-shared queue")
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      94c3e614
    • L
      iwlwifi: mvm: release static queues on bcast release · df88c08d
      Liad Kaufman 提交于
      A few of the static queues are enabled along with the bcast
      STA. Make sure they are removed along with it, rather than
      waiting for the mac ctxt release.
      
      This is needed because we sometimes have a STA being removed
      and then added again (either with the same sta_id or a
      different one). If we wait for the mac ctxt release we will
      try to allocate the queues again (as this is currently done
      in the STA allocation and not in the MAC init) although
      they weren't freed, and even if the sta_id of the STA has
      changed.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      df88c08d
  3. 03 2月, 2017 2 次提交
  4. 26 1月, 2017 2 次提交
  5. 19 10月, 2016 5 次提交
  6. 27 9月, 2016 1 次提交
  7. 19 9月, 2016 2 次提交
  8. 16 9月, 2016 3 次提交
  9. 30 8月, 2016 6 次提交
  10. 06 7月, 2016 9 次提交
  11. 01 7月, 2016 1 次提交
  12. 10 6月, 2016 2 次提交
    • A
      iwlwifi: mvm: set the encryption type of an IGTK key · aa950524
      Ayala Beker 提交于
      The FW expect the driver to set the encryption algorithm type when
      installing the IGTK key in the HW.
      Currently when installing CMAC IGTK key we don't set the algorithm type
      and as a result the FW fails to calculate the MIC of multicast management
      frames.
      Fix it.
      Signed-off-by: NAyala Beker <ayala.beker@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      aa950524
    • E
      iwlwifi: mvm: fix RCU splat in TKIP's update_key · 7d6a1ab6
      Emmanuel Grumbach 提交于
      The commit below mistakenly changed an rcu_dereference_check
      to a rcu_dereference_protected which introduced the
      following RCU warning:
      
      [ INFO: suspicious RCU usage. ]
       4.6.0-rc7-next-20160513-dbg-00004-g8de8b92-dirty #655 Not tainted
       -------------------------------
       drivers/net/wireless/intel/iwlwifi/mvm/mvm.h:1069 suspicious rcu_dereference_protected() usage!
       Call Trace:
        [<ffffffff8106b836>] lockdep_rcu_suspicious+0xf7/0x100
        [<ffffffffa03b2321>] iwl_mvm_get_key_sta.part.0+0x5d/0x80 [iwlmvm]
        [<ffffffffa03b4acb>] iwl_mvm_update_tkip_key+0xd3/0x162 [iwlmvm]
        [<ffffffffa03a2b60>] iwl_mvm_mac_update_tkip_key+0x17/0x19 [iwlmvm]
        [<ffffffffa0329646>] ieee80211_tkip_decrypt_data+0x22c/0x24b [mac80211]
        [<ffffffffa0318bb1>] ieee80211_crypto_tkip_decrypt+0xc5/0x110 [mac80211]
        [<ffffffffa033102e>] ieee80211_rx_handlers+0x9bb/0x1fe1 [mac80211]
      
      Fixes: 13303c0f ("iwlwifi: mvm: use helpers to get iwl_mvm_sta")
      Reported-by: NSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      7d6a1ab6
  13. 11 5月, 2016 4 次提交
    • L
      iwlwifi: mvm: support dqa-mode agg on non-shared queue · cf961e16
      Liad Kaufman 提交于
      In non-shared queues, DQA requires re-configuring existing
      queues to become aggregated rather than allocating a new
      one. It also requires "un-aggregating" an existing queue
      when aggregations are turned off.
      
      Support this requirement for non-shared queues.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      cf961e16
    • S
      iwlwifi: mvm: use helpers to get iwl_mvm_sta · 13303c0f
      Sara Sharon 提交于
      Getting the mvm station out of station id requires dereferencing
      the station id to get ieee80211_sta, then checking for pointer
      validity and only then extract mvm station out.
      Given that there are helpers to do it - use them instead of
      duplicating the code whenever we need only mvm station.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      13303c0f
    • S
      iwlwifi: mvm: add reorder timeout per frame · 0690405f
      Sara Sharon 提交于
      Add a timer in order to release expired frames from the
      reorder buffer.
      This is needed since some APs do not retransmit frames
      to fill in the reorder holes and in TCP it results with
      a complete stall of traffic.
      
      This has a few side effects on the general design:
      
      The nssn may not reflect the the head of the reorder buffer.
      This situation is valid, and packets with SN lower than the
      reorder buffer head will be dropped.
      
      Another side effect is that since the reorder timer might expire
      we need to lock the reorder buffer.
      This however is fine since the locking is only inside a
      single reorder buffer between RX path and reorder timeout and
      there is no outside contention.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      0690405f
    • S
      iwlwifi: mvm: add reorder buffer per queue · b915c101
      Sara Sharon 提交于
      Next hardware will direct packets to core based on the TCP/UDP
      streams.
      This logic can create holes in reorder buffer since packets that
      belong to other stream were directed to a different core.
      However, those are valid holes and the packets can be indicated
      in L3 order.
      
      The hardware will utilize a mechanism of informing the driver of
      the normalized ssn and the driver shall release all packets that
      SN is lower than the nssn.
      This enables managing the reorder across the queues without sharing
      any data between them.
      
      The reorder buffer is allocated and released directly in the RX path
      in order to avoid various races between control path and rx path.
      The code utilizes the internal messaging to notify rx queues of when
      to delete the reorder buffer.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      b915c101