An error occurred fetching the project authors.
  1. 19 Oct, 2012 1 commit
    • Marco Porsch's avatar
      mac80211: make client powersave independent of interface type · d012a605
      Marco Porsch authored
      This patch prepares mac80211 for a later implementation of mesh or
      ad-hoc powersave clients.
      The structures related to powersave (buffer, TIM map, counters) are
      moved from the AP-specific interface structure to a generic structure
      that can be embedded into any interface type.
      The functions related to powersave are prepared to allow easy
      extension with different interface types. For example with:
      
      + } else if (sta->sdata->vif.type == NL80211_IFTYPE_MESH_POINT) {
      +         ps = &sdata->u.mesh.ps;
      
      Some references to the AP's beacon structure are removed where they
      were obviously not used.
      
      The patch compiles without warning and has been briefly tested as AP
      interface with one client in PS mode.
      Signed-off-by: default avatarMarco Porsch <marco.porsch@etit.tu-chemnitz.de>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      d012a605
  2. 18 Oct, 2012 1 commit
  3. 17 Oct, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: use channel contexts · 55de908a
      Johannes Berg authored
      Instead of operating on a single channel only,
      use the new channel context infrastructure in
      all mac80211 code.
      
      This enables drivers that want to use the new
      channel context infrastructure to use multiple
      channels, while nothing should change for all
      the other drivers that don't support it.
      
      Right now this disables both TX power settings
      and spatial multiplexing powersave. Both need
      to be re-enabled on a channel context basis.
      
      Additionally, when channel contexts are used
      drop the connection when channel switch is
      received rather than trying to handle it. This
      will have to be improved later.
      
      [With fixes from Eliad and Emmanuel incorporated]
      Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      55de908a
  4. 08 Oct, 2012 1 commit
  5. 10 Sep, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: add key flag for management keys · e548c49e
      Johannes Berg authored
      Mark keys that might be used to receive management
      frames so drivers can fall back on software crypto
      for them if they don't support hardware offload.
      As the new flag is only set correctly for RX keys
      and the existing IEEE80211_KEY_FLAG_SW_MGMT flag
      can only affect TX, also rename the latter to
      IEEE80211_KEY_FLAG_SW_MGMT_TX.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e548c49e
  6. 22 Aug, 2012 1 commit
  7. 20 Aug, 2012 3 commits
  8. 31 Jul, 2012 4 commits
  9. 12 Jul, 2012 2 commits
  10. 11 Jul, 2012 1 commit
  11. 10 Jul, 2012 1 commit
  12. 03 Jul, 2012 1 commit
  13. 02 Jul, 2012 2 commits
  14. 28 Jun, 2012 1 commit
  15. 26 Jun, 2012 1 commit
  16. 24 Jun, 2012 1 commit
    • Johannes Berg's avatar
      mac80211: clean up debugging · bdcbd8e0
      Johannes Berg authored
      There are a few things that make the logging and
      debugging in mac80211 less useful than it should
      be right now:
       * a lot of messages should be pr_info, not pr_debug
       * wholesale use of pr_debug makes it require *both*
         Kconfig and dynamic configuration
       * there are still a lot of ifdefs
       * the style is very inconsistent, sometimes the
         sdata->name is printed in front
      
      Clean up everything, introducing new macros and
      separating out the station MLME debugging into
      a new Kconfig symbol.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      bdcbd8e0
  17. 05 Jun, 2012 1 commit
  18. 04 Jun, 2012 1 commit
    • Chun-Yeow Yeoh's avatar
      mac80211: Fix Unreachable Mesh Station Problem when joining to another MBSS · b8bacc18
      Chun-Yeow Yeoh authored
      Mesh station that joins an MBSS is reachable using mesh portal with 6
      address frame by mesh stations from another MBSS if these two different
      MBSSes are bridged. However, if the mesh station later moves into the
      same MBSS of those mesh stations, it is unreachable by mesh stations
      in the MBSS due to the mpp_paths table is not deleted. A quick fix
      is to perform mesh_path_lookup, if it is available for the target
      destination, mpp_path_lookup is not performed. When the mesh station
      moves back to its original MBSS, the mesh_paths will be deleted once
      expired. So, it will be reachable using mpp_path_lookup again.
      Signed-off-by: default avatarChun-Yeow Yeoh <yeohchunyeow@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b8bacc18
  19. 29 May, 2012 1 commit
  20. 15 May, 2012 1 commit
  21. 10 May, 2012 1 commit
    • Joe Perches's avatar
      mac80211: Convert compare_ether_addr to ether_addr_equal · b203ca39
      Joe Perches authored
      Use the new bool function ether_addr_equal to add
      some clarity and reduce the likelihood for misuse
      of compare_ether_addr for sorting.
      
      Done via cocci script:
      
      $ cat compare_ether_addr.cocci
      @@
      expression a,b;
      @@
      -	!compare_ether_addr(a, b)
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	compare_ether_addr(a, b)
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) == 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) != 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) == 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) != 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!!ether_addr_equal(a, b)
      +	ether_addr_equal(a, b)
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b203ca39
  22. 30 Apr, 2012 1 commit
  23. 24 Apr, 2012 1 commit
  24. 13 Apr, 2012 1 commit
  25. 11 Apr, 2012 3 commits
    • Johannes Berg's avatar
      mac80211: add improved HW queue control · 3a25a8c8
      Johannes Berg authored
      mac80211 currently only supports one hardware queue
      per AC. This is already problematic for off-channel
      uses since if we go off channel while the BE queue
      is full and then try to send an off-channel frame
      the frame will never go out. This will become worse
      when we support multi-channel since then a queue on
      one channel might be full, but we have to stop the
      software queue for all channels. That is obviously
      not desirable.
      
      To address this problem allow drivers to register
      more hardware queues, and allow them to map them to
      virtual interfaces. When they stop a hardware queue
      the corresponding AC software queues on the correct
      interfaces will be stopped as well. Additionally,
      there's an off-channel queue to solve that problem
      and a per-interface after-DTIM beacon queue. This
      allows drivers to manage software queues closer to
      how the hardware works.
      
      Currently, there's a limit of 16 hardware queues.
      This may or may not be sufficient, we can adjust it
      as needed.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3a25a8c8
    • Johannes Berg's avatar
      mac80211: add explicit monitor interface if needed · 4b6f1dd6
      Johannes Berg authored
      The queue mapping redesign that I'm planning to do
      will break pure injection unless we handle monitor
      interfaces explicitly. One possible option would
      be to have the driver tell mac80211 about monitor
      mode queues etc., but that would duplicate the API
      since we already need to have queue assignments
      handled per virtual interface.
      
      So in order to solve this, have a virtual monitor
      interface that is added whenever all active vifs
      are monitors. We could also use the state of one
      of the monitor interfaces, but managing that would
      be complicated, so allocate separate state.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      4b6f1dd6
    • Ashok Nagarajan's avatar
      mac80211: Indicate basic rates when adding rate IEs · 657c3e0c
      Ashok Nagarajan authored
      Basic rates are added with supported rates IE and extended supported
      rates IE.
      Signed-off-by: default avatarAshok Nagarajan <ashok@cozybit.com>
      Signed-off-by: default avatarThomas Pedersen <thomas@cozybit.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      657c3e0c
  26. 10 Apr, 2012 5 commits
  27. 09 Apr, 2012 1 commit
    • Felix Fietkau's avatar
      mac80211: optimize aggregation session timeout handling · 12d3952f
      Felix Fietkau authored
      Calling mod_timer from the rx/tx hotpath is somewhat expensive, and the
      timeout doesn't need to be so precise.
      
      Switch to a different strategy: Schedule the timer initially, store jiffies
      of all last rx/tx activity which would previously modify the timer, and
      let the timer re-arm itself after checking the last rx/tx timestamp.
      Make the session timers deferrable to avoid causing extra wakeups on systems
      running on battery.
      This visibly reduces CPU load under high network load on small embedded
      systems.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      12d3952f