1. 26 1月, 2019 2 次提交
    • M
      iwlwifi: mvm: avoid possible access out of array. · b0d795a9
      Mordechay Goodstein 提交于
      The value in txq_id can be out of array scope,
      validate it before accessing the array.
      Signed-off-by: NMordechay Goodstein <mordechay.goodstein@intel.com>
      Fixes: cf961e16 ("iwlwifi: mvm: support dqa-mode agg on non-shared queue")
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      b0d795a9
    • S
      iwlwifi: mvm: support mac80211 TXQs model · cfbc6c4c
      Sara Sharon 提交于
      Move to use the new mac80211 TXQs implementation. This has
      quite a few benefits for us. We can get rid of the awkward
      mapping of DQA to mac80211 queues. We can stop buffering
      traffic while waiting for the queue to be allocated. We can
      also use mac80211 AMSDUs instead of building it ourselves.
      
      The usage is pretty simple:
      Each ieee80211_txq contains iwl_mvm_txq. There is such a
      queue for each TID, and one for management frames. We keep
      having static AP queues for probes and non-bufferable MMPDUs,
      along with broadcast and multicast queues. Those are being
      used from the "old" TX invocation path - iwl_mvm_mac_tx.
      
      When there is a new frame in a TXQ, iwl_mvm_mac_wake_tx is
      being called, and either invokes the TX path, or allocates
      the queue if it does not exist.
      
      Most of the TX path is left untouched, although we can consider
      cleaning it up some more, for example get rid of the duplication
      of txq_id in both iwl_mvm_txq and iwl_mvm_dqa_txq_info.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      cfbc6c4c
  2. 20 12月, 2018 1 次提交
  3. 11 11月, 2018 3 次提交
  4. 08 10月, 2018 10 次提交
  5. 28 9月, 2018 2 次提交
  6. 31 8月, 2018 1 次提交
  7. 26 7月, 2018 1 次提交
  8. 30 5月, 2018 1 次提交
  9. 20 4月, 2018 2 次提交
  10. 19 3月, 2018 3 次提交
  11. 16 3月, 2018 1 次提交
  12. 02 3月, 2018 2 次提交
    • I
      iwlwifi: mvm: Correctly set the tid for mcast queue · 6508de03
      Ilan Peer 提交于
      In the scheduler config command, the meaning of tid == 0xf was intended
      to indicate the configuration is for management frames. However,
      tid == 0xf was also used for the multicast queue that was meant only
      for multicast data frames, which resulted with the FW not encrypting
      multicast data frames.
      
      As multicast frames do not have a QoS header, fix this by setting
      tid == 0, to indicate that this is a data queue and not management
      one.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      6508de03
    • S
      iwlwifi: mvm: fix "failed to remove key" message · e4f13ad0
      Sara Sharon 提交于
      When the GTK is installed, we install it to HW with the
      station ID of the AP.
      
      Mac80211 will try to remove it only after the AP sta is
      removed, which will result in a failure to remove key
      since we do not have any station for it.
      
      This is a valid situation, but a previous commit removed
      the early return and added a return with error value, which
      resulted in an error message that is confusing to users.
      
      Remove the error return value.
      
      Fixes: 85aeb58c ("iwlwifi: mvm: Enable security on new TX API")
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      e4f13ad0
  13. 16 2月, 2018 1 次提交
  14. 21 12月, 2017 1 次提交
  15. 06 12月, 2017 2 次提交
  16. 28 11月, 2017 1 次提交
  17. 25 11月, 2017 1 次提交
  18. 03 11月, 2017 3 次提交
    • K
      iwlwifi: mvm: Convert timers to use timer_setup() · 8cef5344
      Kees Cook 提交于
      In preparation for unconditionally passing the struct timer_list pointer to
      all timer callbacks, switch to using the new timer_setup() and from_timer()
      to pass the timer pointer explicitly.
      
      The RCU lifetime on baid_data is unclear, so this adds a direct copy of the
      rcu_ptr passed to the original callback. It may be possible to improve this
      to just use baid_data->mvm->baid_map[baid_data->baid] instead.
      
      Cc: Johannes Berg <johannes.berg@intel.com>
      Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
      Cc: Luca Coelho <luciano.coelho@intel.com>
      Cc: Intel Linux Wireless <linuxwifi@intel.com>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: Sara Sharon <sara.sharon@intel.com>
      Cc: linux-wireless@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      8cef5344
    • L
      iwlwifi: mvm: reset seq num after restart · 5d39051a
      Liad Kaufman 提交于
      After a FW reset on A000 NICs, the driver doesn't
      set the seq number when re-allocating the queues.
      This in turn leads to a mismatch between the seq
      number the driver thinks each frame has, and the
      actual seq num given by the HW.
      
      This especially causes issues with aggregations,
      since the driver could be waiting to start an
      aggregation and queue traffic from the mac80211
      until then, when actually it shouldn't be waiting.
      
      Fixes: 310181ec ("iwlwifi: move to TVQM mode")
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      5d39051a
    • S
      iwlwifi: mvm: cleanup references to aggregation count limit · 0ec9257b
      Sara Sharon 提交于
      Currently the code is mixing defines and is inconsistent.
      When enabling a queue, we usually configure the scheduler
      with IWL_FRAME_LIMIT - 64.
      When sending to firmware the rate scaling, we limit aggregation
      to LINK_QUAL_AGG_FRAME_LIMIT_DEF - 63, due to a scheduler bug.
      Given that, clean up the following:
      - Fix a stray queue enablement with LINK_QUAL_AGG_FRAME_LIMIT_DEF.
      - Change the comparison that tests if queue needs to be reconfigured
        to be compared directly to how it was configured.
        This also saves the redundant round down of the buffer size just
        for the sake of comparing it, making the code more readable.
      - Better document gen2 logic
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      0ec9257b
  19. 18 10月, 2017 2 次提交