1. 05 4月, 2016 1 次提交
  2. 24 2月, 2016 5 次提交
  3. 14 1月, 2016 3 次提交
  4. 15 12月, 2015 2 次提交
    • J
      mac80211: reprogram in interface order · 1ea2c864
      Johannes Berg 提交于
      During reprogramming, mac80211 currently first adds all the channel
      contexts, then binds them to the vifs and then goes to reconfigure
      all the interfaces. Drivers might, perhaps implicitly, rely on the
      operation order for certain things that typically happen within a
      single function elsewhere in mac80211. To avoid problems with that,
      reorder the code in mac80211's restart/reprogramming to work fully
      within the interface loop so that the order of operations is like
      in normal operation.
      
      For iwlwifi, this fixes a firmware crash when reprogramming with an
      AP/GO interface active.
      Reported-by: NDavid Spinadel <david.spinadel@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1ea2c864
    • J
      mac80211: run scan completed work on reconfig failure · 74430f94
      Johannes Berg 提交于
      When reconfiguration during resume fails while a scan is pending
      for completion work, that work will never run, and the scan will
      be stuck forever. Factor out the code to recover this and call it
      also in ieee80211_handle_reconfig_failure().
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      74430f94
  5. 04 12月, 2015 1 次提交
  6. 03 11月, 2015 7 次提交
  7. 15 10月, 2015 1 次提交
  8. 13 10月, 2015 1 次提交
  9. 08 10月, 2015 1 次提交
  10. 29 9月, 2015 2 次提交
  11. 22 9月, 2015 2 次提交
  12. 17 7月, 2015 4 次提交
  13. 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
  14. 20 5月, 2015 1 次提交
    • M
      mac80211: fix AP_VLAN crypto tailroom calculation · f9dca80b
      Michal Kazior 提交于
      Some splats I was seeing:
      
       (a) WARNING: CPU: 1 PID: 0 at /devel/src/linux/net/mac80211/wep.c:102 ieee80211_wep_add_iv
       (b) WARNING: CPU: 1 PID: 0 at /devel/src/linux/net/mac80211/wpa.c:73 ieee80211_tx_h_michael_mic_add
       (c) WARNING: CPU: 3 PID: 0 at /devel/src/linux/net/mac80211/wpa.c:433 ieee80211_crypto_ccmp_encrypt
      
      I've seen (a) and (b) with ath9k hw crypto and (c)
      with ath9k sw crypto. All of them were related to
      insufficient skb tailroom and I was able to
      trigger these with ping6 program.
      
      AP_VLANs may inherit crypto keys from parent AP.
      This wasn't considered and yielded problems in
      some setups resulting in inability to transmit
      data because mac80211 wouldn't resize skbs when
      necessary and subsequently drop some packets due
      to insufficient tailroom.
      
      For efficiency purposes don't inspect both AP_VLAN
      and AP sdata looking for tailroom counter. Instead
      update AP_VLAN tailroom counters whenever their
      master AP tailroom counter changes.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      f9dca80b
  15. 07 4月, 2015 1 次提交
  16. 02 4月, 2015 1 次提交
    • F
      mac80211: add an intermediate software queue implementation · ba8c3d6f
      Felix Fietkau 提交于
      This allows drivers to request per-vif and per-sta-tid queues from which
      they can pull frames. This makes it easier to keep the hardware queues
      short, and to improve fairness between clients and vifs.
      
      The task of scheduling packet transmission is left up to the driver -
      queueing is controlled by mac80211. Drivers can only dequeue packets by
      calling ieee80211_tx_dequeue. This makes it possible to add active queue
      management later without changing drivers using this code.
      
      This can also be used as a starting point to implement A-MSDU
      aggregation in a way that does not add artificially induced latency.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      [resolved minor context conflict, minor changes, endian annotations]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ba8c3d6f
  17. 30 3月, 2015 1 次提交
  18. 16 3月, 2015 2 次提交
  19. 04 3月, 2015 1 次提交
  20. 03 3月, 2015 2 次提交