1. 10 May, 2012 2 commits
    • Joe Perches's avatar
      mac80211: Convert compare_ether_addr to ether_addr_equal by hand · 3bc7945e
      Joe Perches authored
      
      
      spatch/coccinelle isn't perfect.  It doesn't understand
      __aligned(x) and doesn't convert functions it can't parse.
      
      Convert the remaining compare_ether_addr uses.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3bc7945e
    • 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
  2. 23 Apr, 2012 1 commit
  3. 17 Apr, 2012 1 commit
  4. 10 Apr, 2012 1 commit
  5. 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
  6. 13 Mar, 2012 3 commits
    • Paul Stewart's avatar
      mac80211: Don't let regulatory make us deaf · 3117bbdb
      Paul Stewart authored
      
      
      When regulatory information changes our HT behavior (e.g,
      when we get a country code from the AP we have just associated
      with), we should use this information to change the power with
      which we transmit, and what channels we transmit.  Sometimes
      the channel parameters we derive from regulatory information
      contradicts the parameters we used in association.  For example,
      we could have associated specifying HT40, but the regulatory
      rules we apply may forbid HT40 operation.
      
      In the situation above, we should reconfigure ourselves to
      transmit in HT20 only, however it makes no sense for us to
      disable receive in HT40, since if we associated with these
      parameters, the AP has every reason to expect we can and
      will receive packets this way.  The code in mac80211 does
      not have the capability of sending the appropriate action
      frames to signal a change in HT behaviour so the AP has
      no clue we can no longer receive frames encoded this way.
      In some broken AP implementations, this can leave us
      effectively deaf if the AP never retries in lower HT rates.
      
      This change breaks up the channel_type parameter in the
      ieee80211_enable_ht function into a separate receive and
      transmit part.  It honors the channel flags set by regulatory
      in order to configure the rate control algorithm, but uses
      the capability flags to configure the channel on the radio,
      since these were used in association to set the AP's transmit
      rate.
      Signed-off-by: default avatarPaul Stewart <pstew@chromium.org>
      Cc: Sam Leffler <sleffler@chromium.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Reviewed-by: default avatarLuis R Rodriguez <mcgrof@frijolero.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3117bbdb
    • Johannes Berg's avatar
      mac80211: linearize SKBs as needed for crypto · a8286911
      Johannes Berg authored
      
      
      Not linearizing every SKB will help actually pass
      non-linear SKBs all the way up when on an encrypted
      connection. For now, linearize TKIP completely as
      it is lower performance and I don't quite grok all
      the details.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a8286911
    • Johannes Berg's avatar
      mac80211: move RX WEP weak IV counting · 617bbde8
      Johannes Berg authored
      
      
      This is better done inside the WEP decrypt
      function where it doesn't have to check all
      the conditions any more since they've been
      tested already.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      617bbde8
  7. 06 Mar, 2012 1 commit
  8. 05 Mar, 2012 4 commits
  9. 27 Feb, 2012 1 commit
  10. 06 Feb, 2012 2 commits
    • Johannes Berg's avatar
      mac80211: redesign auth/assoc · 66e67e41
      Johannes Berg authored
      
      
      This is the second part of the auth/assoc redesign,
      the mac80211 part. This moves the auth/assoc code
      out of the work abstraction and into the MLME, so
      that we don't flip channels all the time etc.
      
      The only downside is that when we are associated,
      we need to drop the association in order to create
      a connection to another AP, but for most drivers
      this is actually desirable and the ability to do
      was never used by any applications. If we want to
      implement resource reservation with FT-OTA, we'd
      probably best do it with explicit R-O-C in wpa_s.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      66e67e41
    • Johannes Berg's avatar
      mac80211: remove dummy STA support · 7852e361
      Johannes Berg authored
      
      
      The dummy STA support was added because I didn't
      want to change the driver API at the time. Now
      that we have state transitions triggering station
      add/remove in the driver, we only call add once a
      station reaches ASSOCIATED, so we can remove the
      dummy station stuff again.
      
      While at it, tighten the RX check and accept only
      port control (EAP) frames from the AP station if
      it's not associated yet -- in other cases there's
      no race.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7852e361
  11. 01 Feb, 2012 1 commit
  12. 30 Jan, 2012 1 commit
  13. 27 Jan, 2012 1 commit
  14. 16 Jan, 2012 1 commit
  15. 04 Jan, 2012 1 commit
  16. 21 Dec, 2011 1 commit
  17. 19 Dec, 2011 1 commit
  18. 15 Dec, 2011 1 commit
  19. 06 Dec, 2011 2 commits
  20. 28 Nov, 2011 4 commits
  21. 09 Nov, 2011 7 commits
  22. 08 Nov, 2011 2 commits