1. 08 2月, 2019 1 次提交
  2. 19 1月, 2019 2 次提交
    • F
      mac80211: minstrel_ht: add flag to indicate missing/inaccurate tx A-MPDU length · 77f7ffdc
      Felix Fietkau 提交于
      Some hardware (e.g. MediaTek MT7603) cannot report A-MPDU length in tx status
      information. Add support for a flag to indicate that, to allow minstrel_ht
      to use a fixed value in its internal calculation (which gives better results
      than just defaulting to 1).
      Signed-off-by: NFelix Fietkau <nbd@nbd.name>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      77f7ffdc
    • T
      mac80211: Add airtime accounting and scheduling to TXQs · b4809e94
      Toke Høiland-Jørgensen 提交于
      This adds airtime accounting and scheduling to the mac80211 TXQ
      scheduler. A new callback, ieee80211_sta_register_airtime(), is added
      that drivers can call to report airtime usage for stations.
      
      When airtime information is present, mac80211 will schedule TXQs
      (through ieee80211_next_txq()) in a way that enforces airtime fairness
      between active stations. This scheduling works the same way as the ath9k
      in-driver airtime fairness scheduling. If no airtime usage is reported
      by the driver, the scheduler will default to round-robin scheduling.
      
      For drivers that don't control TXQ scheduling in software, a new API
      function, ieee80211_txq_may_transmit(), is added which the driver can use
      to check if the TXQ is eligible for transmission, or should be throttled to
      enforce fairness. Calls to this function must also be enclosed in
      ieee80211_txq_schedule_{start,end}() calls to ensure proper locking.
      
      The API ieee80211_txq_may_transmit() also ensures that TXQ list will be
      aligned aginst driver's own round-robin scheduler list. i.e it rotates
      the TXQ list till it makes the requested node becomes the first entry
      in TXQ list. Thus both the TXQ list and driver's list are in sync.
      Co-developed-by: NRajkumar Manoharan <rmanohar@codeaurora.org>
      Signed-off-by: NLouie Lu <git@louie.lu>
      [added debugfs write op to reset airtime counter]
      Signed-off-by: NToke Høiland-Jørgensen <toke@toke.dk>
      Signed-off-by: NRajkumar Manoharan <rmanohar@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b4809e94
  3. 05 9月, 2018 3 次提交
  4. 21 3月, 2018 1 次提交
  5. 23 2月, 2018 1 次提交
    • I
      mac80211: Call mgd_prep_tx before transmitting deauthentication · 94ba9271
      Ilan Peer 提交于
      In multi channel scenarios, when disassociating from the AP before a
      beacon was heard from the AP, it is not guaranteed that the virtual
      interface is granted air time for the transmission of the
      deauthentication frame. This in turn can lead to various issues as
      the AP might never get the deauthentication frame.
      
      To mitigate such possible issues, add a HW flag indicating that the
      driver requires mac80211 to call the mgd_prep_tx() driver callback
      to make sure that the virtual interface is granted immediate airtime
      to be able to transmit the frame, in case that no beacon was heard
      from the AP.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      94ba9271
  6. 19 12月, 2017 1 次提交
  7. 11 12月, 2017 2 次提交
  8. 08 2月, 2017 1 次提交
  9. 07 2月, 2017 1 次提交
  10. 13 12月, 2016 1 次提交
  11. 19 10月, 2016 1 次提交
  12. 30 9月, 2016 1 次提交
  13. 15 9月, 2016 1 次提交
  14. 13 9月, 2016 1 次提交
  15. 09 6月, 2016 1 次提交
  16. 06 4月, 2016 2 次提交
  17. 24 2月, 2016 1 次提交
  18. 21 1月, 2016 1 次提交
    • A
      net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y · 68920c97
      Andrey Ryabinin 提交于
      With upcoming CONFIG_UBSAN the following BUILD_BUG_ON in
      net/mac80211/debugfs.c starts to trigger:
      
        BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void *)0x1);
      
      It seems, that compiler instrumentation causes some code
      deoptimizations.  Because of that GCC is not being able to resolve
      condition in BUILD_BUG_ON() at compile time.
      
      We could make size of hw_flag_names array unspecified and replace the
      condition in BUILD_BUG_ON() with following:
      
        ARRAY_SIZE(hw_flag_names) != NUM_IEEE80211_HW_FLAGS
      
      That will have the same effect as before (adding new flag without
      updating array will trigger build failure) except it doesn't fail with
      CONFIG_UBSAN.  As a bonus this patch slightly decreases size of
      hw_flag_names array.
      Signed-off-by: NAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      68920c97
  19. 04 12月, 2015 1 次提交
  20. 13 10月, 2015 1 次提交
  21. 29 9月, 2015 1 次提交
    • H
      mac80211: Copy tx'ed beacons to monitor mode · 35afa588
      Helmut Schaa 提交于
      When debugging wireless powersave issues on the AP side it's quite helpful
      to see our own beacons that are transmitted by the hardware/driver. However,
      this is not that easy since beacons don't pass through the regular TX queues.
      
      Preferably drivers would call ieee80211_tx_status also for tx'ed beacons
      but that's not always possible. Hence, just send a copy of each beacon
      generated by ieee80211_beacon_get_tim to monitor devices when they are
      getting fetched by the driver.
      
      Also add a HW flag IEEE80211_HW_BEACON_TX_STATUS that can be used by
      drivers to indicate that they report TX status for beacons.
      Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      (with a fix from Christian Lamparted rolled in)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      35afa588
  22. 22 9月, 2015 1 次提交
  23. 17 7月, 2015 2 次提交
  24. 10 6月, 2015 1 次提交
    • J
      mac80211: convert HW flags to unsigned long bitmap · 30686bf7
      Johannes Berg 提交于
      As we're running out of hardware capability flags pretty quickly,
      convert them to use the regular test_bit() style unsigned long
      bitmaps.
      
      This introduces a number of helper functions/macros to set and to
      test the bits, along with new debugfs code.
      
      The occurrences of an explicit __clear_bit() are intentional, the
      drivers were never supposed to change their supported bits on the
      fly. We should investigate changing this to be a per-frame flag.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      30686bf7
  25. 03 6月, 2015 1 次提交
  26. 05 5月, 2015 2 次提交
  27. 20 3月, 2015 1 次提交
  28. 01 3月, 2015 1 次提交
    • J
      mac80211: remove TX latency measurement code · abfbc3af
      Johannes Berg 提交于
      Revert commit ad38bfc9 ("mac80211: Tx frame latency statistics")
      (along with some follow-up fixes).
      
      This code turned out not to be as useful in the current form as we
      thought, and we've internally hacked it up more, but that's not
      very suitable for upstream (for now), and we might just do that
      with tracing instead.
      
      Therefore, for now at least, remove this code. We might also need
      to use the skb->tstamp field for the TCP performance issue, which
      is more important than the debugging.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      abfbc3af
  29. 15 12月, 2014 1 次提交
  30. 11 9月, 2014 1 次提交
  31. 05 9月, 2014 1 次提交
  32. 09 4月, 2014 1 次提交
  33. 02 12月, 2013 1 次提交