1. 24 Jan, 2012 3 commits
  2. 12 Jan, 2012 1 commit
  3. 15 Dec, 2011 2 commits
    • Johannes Berg's avatar
      mac80211: delay IBSS station insertion · 8bf11d8d
      Johannes Berg authored
      In order to notify drivers and simplify the station
      management code, defer IBSS station insertion to a
      work item and don't do it directly while receiving
      a frame.
      
      This increases the complexity in IBSS a little bit,
      but it's pretty straight forward and it allows us
      to reduce the station management complexity (next
      patch) considerably.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8bf11d8d
    • Johannes Berg's avatar
      mac80211: refactor station state transitions · d9a7ddb0
      Johannes Berg authored
      Station entries can have various states, the most
      important ones being auth, assoc and authorized.
      This patch prepares us for telling the driver about
      these states, we don't want to confuse drivers with
      strange transitions, so with this we enforce that
      they move in the right order between them (back and
      forth); some transitions might happen before the
      driver even knows about the station, but at least
      runtime transitions will be ordered correctly.
      
      As a consequence, IBSS and MESH stations will now
      have the ASSOC flag set (so they can transition to
      AUTHORIZED), and we can get rid of a special case
      in TX processing.
      
      When freeing a station, unwind the state so that
      other parts of the code (or drivers later) can rely
      on the transitions.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d9a7ddb0
  4. 14 Dec, 2011 1 commit
  5. 13 Dec, 2011 1 commit
  6. 06 Dec, 2011 2 commits
  7. 11 Nov, 2011 1 commit
  8. 30 Sep, 2011 1 commit
    • Johannes Berg's avatar
      mac80211: optimise station flags · c2c98fde
      Johannes Berg authored
      The flaglock in struct sta_info has long been
      something that I wanted to get rid of, this
      finally does the conversion to atomic bitops.
      
      The conversion itself is straight-forward in
      most places, a few things needed to change a
      bit since we can no longer use multiple bits
      at the same time.
      
      On x86-64, this is a fairly significant code
      size reduction:
         text	   data	    bss	    dec	    hex
       427861	  23648	   1008	 452517	  6e7a5	before
       425383	  23648	    976	 450007	  6ddd7	after
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      c2c98fde
  9. 27 Sep, 2011 1 commit
  10. 20 Sep, 2011 1 commit
  11. 02 Aug, 2011 1 commit
  12. 08 Jun, 2011 1 commit
  13. 16 May, 2011 1 commit
    • Johannes Berg's avatar
      mac80211: sparse RCU annotations · 40b275b6
      Johannes Berg authored
      This adds sparse RCU annotations to most of
      mac80211, only the mesh code remains to be
      done.
      
      Due the the previous patches, the annotations
      are pretty simple. The only thing that this
      actually changes is removing the RCU usage of
      key->sta in debugfs since this pointer isn't
      actually an RCU-managed pointer (it only has
      a single assignment done before the key even
      goes live). As that is otherwise harmless, I
      decided to make it part of this patch.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      40b275b6
  14. 26 Apr, 2011 1 commit
    • Rajkumar Manoharan's avatar
      mac80211: Fix warnings due to -Wunused-but-set-variable · 0915cba3
      Rajkumar Manoharan authored
      These warnings are exposed by gcc 4.6.
      net/mac80211/sta_info.c: In function 'sta_info_cleanup_expire_buffered':
      net/mac80211/sta_info.c:590:32: warning: variable 'sdata' set but not used
      net/mac80211/ibss.c: In function 'ieee80211_rx_mgmt_auth_ibss':
      net/mac80211/ibss.c:43:34: warning: variable 'status_code' set but not used
      net/mac80211/work.c: In function 'ieee80211_send_assoc':
      net/mac80211/work.c:203:9: warning: variable 'len' set but not used
      net/mac80211/tx.c: In function '__ieee80211_parse_tx_radiotap':
      net/mac80211/tx.c:1039:35: warning: variable 'sband' set but not used
      net/mac80211/mesh.c: In function 'ieee80211_mesh_rx_queued_mgmt':
      net/mac80211/mesh.c:616:28: warning: variable 'ifmsh' set but not used
       ...
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0915cba3
  15. 04 Apr, 2011 1 commit
  16. 25 Feb, 2011 1 commit
  17. 23 Feb, 2011 1 commit
  18. 14 Feb, 2011 1 commit
  19. 21 Jan, 2011 1 commit
    • Bruno Randolf's avatar
      cfg80211: Extend channel to frequency mapping for 802.11j · 59eb21a6
      Bruno Randolf authored
      Extend channel to frequency mapping for 802.11j Japan 4.9GHz band, according to
      IEEE802.11 section 17.3.8.3.2 and Annex J. Because there are now overlapping
      channel numbers in the 2GHz and 5GHz band we can't map from channel to
      frequency without knowing the band. This is no problem as in most contexts we
      know the band. In places where we don't know the band (and WEXT compatibility)
      we assume the 2GHz band for channels below 14.
      
      This patch does not implement all channel to frequency mappings defined in
      802.11, it's just an extension for 802.11j 20MHz channels. 5MHz and 10MHz
      channels as well as 802.11y channels have been omitted.
      
      The following drivers have been updated to reflect the API changes:
      iwl-3945, iwl-agn, iwmc3200wifi, libertas, mwl8k, rt2x00, wl1251, wl12xx.
      The drivers have been compile-tested only.
      Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
      Signed-off-by: default avatarBrian Prodoehl <bprodoehl@gmail.com>
      Acked-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      59eb21a6
  20. 13 Dec, 2010 1 commit
  21. 24 Nov, 2010 1 commit
  22. 16 Nov, 2010 1 commit
  23. 25 Oct, 2010 1 commit
  24. 05 Oct, 2010 1 commit
  25. 25 Aug, 2010 1 commit
  26. 16 Aug, 2010 1 commit
  27. 21 Jul, 2010 2 commits
    • Johannes Berg's avatar
      mac80211: proper IBSS locking · 7a17a33c
      Johannes Berg authored
      IBSS has never had locking, instead relying on some
      memory barriers etc. That's hard to get right, and
      I think we had it wrong too until the previous patch.
      Since this is not performance sensitive, it doesn't
      make sense to have the maintenance overhead of that,
      so add proper locking.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7a17a33c
    • Johannes Berg's avatar
      mac80211: fix IBSS lockdep complaint · bc05d19f
      Johannes Berg authored
      Bob reported a lockdep complaint originating in
      the mac80211 IBSS code due to the common work
      struct patch. The reason is that the IBSS and
      station mode code have different locking orders
      for the cfg80211 wdev lock and the work struct
      (where "locking" implies running/canceling).
      
      Fix this by simply not canceling the work in
      the IBSS code, it is not necessary since when
      the REQ_RUN bit is cleared, the work will run
      without effect if it runs. When the interface
      is set down, it is flushed anyway, so there's
      no concern about it running after memory has
      been invalidated either.
      
      This fixes
      https://bugzilla.kernel.org/show_bug.cgi?id=16419
      
      Additionally, looking into this I noticed that
      there's a small window while the IBSS is torn
      down in which the work may be rescheduled and
      the REQ_RUN bit be set again after leave() has
      cleared it when a scan finishes at exactly the
      same time. Avoid that by setting the ssid_len
      to zero before clearing REQ_RUN which signals
      to the scan finish code that this interface is
      not active.
      Reported-by: default avatarBob Copeland <me@bobcopeland.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bc05d19f
  28. 14 Jun, 2010 8 commits