1. 06 10月, 2018 4 次提交
  2. 28 9月, 2018 3 次提交
  3. 31 8月, 2018 10 次提交
  4. 02 8月, 2018 1 次提交
  5. 26 7月, 2018 2 次提交
  6. 30 5月, 2018 2 次提交
    • J
      iwlwifi: mvm: fix race in queue notification wait · 42116705
      Johannes Berg 提交于
      Initially in this code, the race didn't matter since it didn't
      do anything. Latest with the commit I marked this as fixing it
      started to matter as something got done here that needed other
      data that got freed as soon as the queue notification wait was
      returning.
      
      In the scenario we saw, apparently the IWL_MVM_RXQ_NOTIF_DEL_BA
      event was sent to all queues, but processing the last event we
      returned from iwl_mvm_sync_rx_queues_internal() and then from
      iwl_mvm_free_reorder() and continued some processing before
      wl_mvm_del_ba() was even invoked on the other CPU. Thus, when
      the latter finally ran, it found that mvm->baid_map[baid] was
      no longer valid.
      
      Correct the race by moving the counter decrement and wake_up()
      to be done only after all the per-event processing completed.
      Note that in the commit I marked as being fixed the wake_up()
      didn't exist yet (and the code was otherwise problematic) but
      this particular problem already existed in a way.
      
      Fixes: b915c101 ("iwlwifi: mvm: add reorder buffer per queue")
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      42116705
    • S
      iwlwifi: mvm: drop UNKNOWN security type frames · fabdcc2e
      Sara Sharon 提交于
      In some cases we may get from FW errored frames with
      UNKNOWN security type.
      
      This may happen in unsecured aggregation flow, where
      the first packet had a CRC error in the WEP bit, which
      was followed by a failure to decrypt and was dropped.
      
      The next frames in the aggregation "inherit" the bad metadata
      of the first packet.
      
      Make sure to drop such frames since RADA and other offloads
      will not operate correctly which may have unexpected results.
      
      In case of AP it also causes to TX AMSDU frames to the peers,
      resulting with assert 0x104B.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      fabdcc2e
  7. 26 4月, 2018 1 次提交
  8. 20 4月, 2018 2 次提交
  9. 28 3月, 2018 1 次提交
  10. 16 2月, 2018 1 次提交
    • S
      iwlwifi: mvm: fix security bug in PN checking · 5ab2ba93
      Sara Sharon 提交于
      A previous patch allowed the same PN for packets originating from the
      same AMSDU by copying PN only for the last packet in the series.
      
      This however is bogus since we cannot assume the last frame will be
      received on the same queue, and if it is received on a different ueue
      we will end up not incrementing the PN and possibly let the next
      packet to have the same PN and pass through.
      
      Change the logic instead to driver explicitly indicate for the second
      sub frame and on to be allowed to have the same PN as the first
      subframe. Indicate it to mac80211 as well for the fallback queue.
      
      Fixes: f1ae02b1 ("iwlwifi: mvm: allow same PN for de-aggregated AMSDU")
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      5ab2ba93
  11. 21 12月, 2017 1 次提交
  12. 06 12月, 2017 1 次提交
    • G
      iwlwifi: mvm: rs: introduce new API for rate scaling · ecaf71de
      Gregory Greenman 提交于
      New devices will have rate scaling algorithm running in the firmware.
      With this feature, the driver's responsiblity is to provide an initial
      configuration and to handle notifications regarding recent rates and
      some other parameters. Debugfs hooks will be still available for
      reading the current rate/statistics and setting a fixed rate.
      The old API is supported so far, though both APIs cannot be used
      simultaneously.
      
      This is the first patch in the series. It adds a new TLV specifying
      FW support for the new API and updates lq_sta to support two types
      of rate scaling.
      Signed-off-by: NGregory Greenman <gregory.greenman@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      ecaf71de
  13. 05 12月, 2017 2 次提交
  14. 25 11月, 2017 2 次提交
  15. 03 11月, 2017 3 次提交
    • S
      iwlwifi: drop RX frames during hardware restart · 364a1ab9
      Shahar S Matityahu 提交于
      In case of a hardware restart the BA session data in HW is lost
      so the reorder buffer simply passes the frames to mac80211 as is
      as there is no NSSN set. Instead, we will drop these frames
      before they reach the reorder buffer. mac80211 drops such frames anyway,
      but we shouldn't rely on that. In addition it saves some
      processing time
      Signed-off-by: NShahar S Matityahu <shahar.s.matityahu@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      364a1ab9
    • 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
    • S
      iwlwifi: mvm: improve latency when there is a reorder timeout · 14a1f85b
      Sara Sharon 提交于
      When there is a reorder timeout, we may get to a situation
      where we have the timeout latency for all the next 64 frames.
      This happens since NSSN is behind for a while, and the driver
      won't release the frames, since it is not allowed by NSSN.
      As a result the frame is stored in the reorder buffer although
      there is no hole, and released 100 ms later.
      Add a direct comparison to the reorder buffer head, and release
      immediately if possible.
      
      For example:
      Frame 0 is missed. We receive frame 1, and store it in the buffer.
      After 100 ms, frame 1 is released and reorder buffer head is 2.
      We then receive frame 2, with NSSN 0, and store it instead of
      releasing it.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      14a1f85b
  16. 18 10月, 2017 3 次提交
  17. 06 10月, 2017 1 次提交