1. 20 6月, 2022 3 次提交
  2. 10 6月, 2022 1 次提交
  3. 16 5月, 2022 2 次提交
  4. 05 5月, 2022 1 次提交
  5. 15 3月, 2022 1 次提交
  6. 11 3月, 2022 1 次提交
    • Y
      mac80211: Add support to trigger sta disconnect on hardware restart · 7d352ccf
      Youghandhar Chintala 提交于
      Currently in case of target hardware restart, we just reconfig and
      re-enable the security keys and enable the network queues to start
      data traffic back from where it was interrupted.
      
      Many ath10k wifi chipsets have sequence numbers for the data
      packets assigned by firmware and the mac sequence number will
      restart from zero after target hardware restart leading to mismatch
      in the sequence number expected by the remote peer vs the sequence
      number of the frame sent by the target firmware.
      
      This mismatch in sequence number will cause out-of-order packets
      on the remote peer and all the frames sent by the device are dropped
      until we reach the sequence number which was sent before we restarted
      the target hardware
      
      In order to fix this, we trigger a sta disconnect, in case of target
      hw restart. After this there will be a fresh connection and thereby
      avoiding the dropping of frames by remote peer.
      
      The right fix would be to pull the entire data path into the host
      which is not feasible or would need lots of complex changes and
      will still be inefficient.
      
      Tested on ath10k using WCN3990, QCA6174
      Signed-off-by: NYoughandhar Chintala <youghand@codeaurora.org>
      Link: https://lore.kernel.org/r/20220308115325.5246-2-youghand@codeaurora.orgSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
      7d352ccf
  7. 01 3月, 2022 1 次提交
    • J
      mac80211: treat some SAE auth steps as final · 94d9864c
      Johannes Berg 提交于
      When we get anti-clogging token required (added by the commit
      mentioned below), or the other status codes added by the later
      commit 4e56cde1 ("mac80211: Handle special status codes in
      SAE commit") we currently just pretend (towards the internal
      state machine of authentication) that we didn't receive anything.
      
      This has the undesirable consequence of retransmitting the prior
      frame, which is not expected, because the timer is still armed.
      
      If we just disarm the timer at that point, it would result in
      the undesirable side effect of being in this state indefinitely
      if userspace crashes, or so.
      
      So to fix this, reset the timer and set a new auth_data->waiting
      in order to have no more retransmissions, but to have the data
      destroyed when the timer actually fires, which will only happen
      if userspace didn't continue (i.e. crashed or abandoned it.)
      
      Fixes: a4055e74 ("mac80211: Don't destroy auth data in case of anti-clogging")
      Reported-by: NJouni Malinen <j@w1.fi>
      Link: https://lore.kernel.org/r/20220224103932.75964e1d7932.Ia487f91556f29daae734bf61f8181404642e1eec@changeidSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
      94d9864c
  8. 16 2月, 2022 4 次提交
  9. 04 2月, 2022 1 次提交
  10. 04 1月, 2022 1 次提交
  11. 26 11月, 2021 1 次提交
  12. 21 10月, 2021 1 次提交
  13. 23 9月, 2021 4 次提交
  14. 26 8月, 2021 1 次提交
  15. 24 8月, 2021 1 次提交
  16. 17 8月, 2021 1 次提交
  17. 13 8月, 2021 1 次提交
  18. 23 7月, 2021 1 次提交
  19. 24 6月, 2021 1 次提交
    • T
      mac80211: Switch to a virtual time-based airtime scheduler · 2433647b
      Toke Høiland-Jørgensen 提交于
      This switches the airtime scheduler in mac80211 to use a virtual
      time-based scheduler instead of the round-robin scheduler used before.
      This has a couple of advantages:
      
      - No need to sync up the round-robin scheduler in firmware/hardware with
        the round-robin airtime scheduler.
      
      - If several stations are eligible for transmission we can schedule both
        of them; no need to hard-block the scheduling rotation until the head
        of the queue has used up its quantum.
      
      - The check of whether a station is eligible for transmission becomes
        simpler (in ieee80211_txq_may_transmit()).
      
      The drawback is that scheduling becomes slightly more expensive, as we
      need to maintain an rbtree of TXQs sorted by virtual time. This means
      that ieee80211_register_airtime() becomes O(logN) in the number of
      currently scheduled TXQs because it can change the order of the
      scheduled stations. We mitigate this overhead by only resorting when a
      station changes position in the tree, and hopefully N rarely grows too
      big (it's only TXQs currently backlogged, not all associated stations),
      so it shouldn't be too big of an issue.
      
      To prevent divisions in the fast path, we maintain both station sums and
      pre-computed reciprocals of the sums. This turns the fast-path operation
      into a multiplication, with divisions only happening as the number of
      active stations change (to re-compute the current sum of all active
      station weights). To prevent this re-computation of the reciprocal from
      happening too frequently, we use a time-based notion of station
      activity, instead of updating the weight every time a station gets
      scheduled or de-scheduled. As queues can oscillate between empty and
      occupied quite frequently, this can significantly cut down on the number
      of re-computations. It also has the added benefit of making the station
      airtime calculation independent on whether the queue happened to have
      drained at the time an airtime value was accounted.
      Co-developed-by: NYibo Zhao <yiboz@codeaurora.org>
      Signed-off-by: NYibo Zhao <yiboz@codeaurora.org>
      Signed-off-by: NToke Høiland-Jørgensen <toke@redhat.com>
      Link: https://lore.kernel.org/r/20210623134755.235545-1-toke@redhat.comSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
      2433647b
  20. 23 6月, 2021 3 次提交
  21. 01 6月, 2021 1 次提交
  22. 12 5月, 2021 3 次提交
  23. 19 4月, 2021 1 次提交
  24. 26 1月, 2021 1 次提交
  25. 22 1月, 2021 1 次提交
  26. 21 1月, 2021 1 次提交
  27. 11 12月, 2020 1 次提交