1. 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
  2. 11 5月, 2016 5 次提交
    • 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
    • S
      iwlwifi: mvm: add infrastructure for tracking BA session in driver · 10b2b201
      Sara Sharon 提交于
      According to the spec when a BA session is started there
      is a timeout set for the session in the ADDBA request.
      If there is not activity on the TA/TID then the session
      expires and a DELBA is sent.
      In order to check for the timeout, data must be shared
      among the rx queues.
      Add a timer that runs as long as BA session is active
      for the station and stops aggregation session if needed.
      This patch also lays the infrastructure for the reordering
      buffer which will be enabled in the next patches.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      10b2b201
  3. 10 5月, 2016 2 次提交
  4. 30 3月, 2016 3 次提交
  5. 28 2月, 2016 3 次提交
  6. 01 2月, 2016 2 次提交
  7. 21 12月, 2015 4 次提交
  8. 20 12月, 2015 1 次提交
  9. 13 12月, 2015 3 次提交
  10. 18 11月, 2015 1 次提交
  11. 16 11月, 2015 2 次提交
    • A
      iwlwifi: mvm: Avoid dereferencing sta if it was already flushed · 9513c5e1
      Avri Altman 提交于
      Be a little bit more careful when dereferencing sta on key removal,
      As it might already get flushed on other thread.
      Signed-off-by: NAvri Altman <avri.altman@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      9513c5e1
    • L
      iwlwifi: mvm: don't overwrite the key indices in D3 entry · d6ee54a9
      Luca Coelho 提交于
      When entering D3, we need to use hardcoded key indices because the
      firmware requires that.  To do so, we are overwriting the HW key index
      in the keyconf structure, which makes it impossible to reuse the
      indices that were used before entering D3.  Additionally, we overwrite
      all the non-PTK keys with index 1, because the firmware only allows
      one non-PTK key to be set.  This is bad, because when we resume, we
      may try to set more than one key with index 1, which will obviously
      fail.
      
      To fix this, allow the callers to set a pre-defined index to use in
      iwl_mvm_set_sta_key() instead of relying on the hw_key_idx value from
      the keyconf struct (which requires overwriting it).  In normal cases,
      the caller can pass STA_KEY_IDX_INVALID, which will cause a new key
      offset to be chosen.  During HW_RESTART, we pass the offset that is in
      use.  And during D3 entry, we pass the hardcoded indices we need to
      use.
      
      Additionally, don't clear the fw_key_table in D3 entry, so that the
      flags are still set with the pre-D3 values when exiting D3.
      
      fixes=I3165c22362483f0152d9ec1d2a987fb5529727c1
      
      Fixes: b546dcd6 ("iwlwifi: mvm: don't reset key index on HW restart")
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      d6ee54a9
  12. 25 10月, 2015 2 次提交
  13. 05 10月, 2015 4 次提交
  14. 28 8月, 2015 1 次提交
  15. 13 8月, 2015 1 次提交
  16. 04 8月, 2015 2 次提交
  17. 26 6月, 2015 1 次提交
  18. 28 5月, 2015 1 次提交