1. 16 Jul, 2013 1 commit
  2. 11 Jun, 2013 2 commits
  3. 24 May, 2013 1 commit
    • Johannes Berg's avatar
      cfg80211: vastly simplify locking · 5fe231e8
      Johannes Berg authored
      
      
      Virtually all code paths in cfg80211 already (need to) hold
      the RTNL. As such, there's little point in having another
      four mutexes for various parts of the code, they just cause
      lock ordering issues (and much of the time, the RTNL and a
      few of the others need thus be held.)
      
      Simplify all this by getting rid of the extra four mutexes
      and just use the RTNL throughout. Only a few code changes
      were needed to do this and we can get rid of a work struct
      for bonus points.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      5fe231e8
  4. 16 May, 2013 1 commit
  5. 06 Mar, 2013 2 commits
  6. 16 Jan, 2013 2 commits
  7. 03 Dec, 2012 1 commit
  8. 26 Nov, 2012 2 commits
    • Johannes Berg's avatar
      nl80211/cfg80211: support VHT channel configuration · 3d9d1d66
      Johannes Berg authored
      
      
      Change nl80211 to support specifying a VHT (or HT)
      using the control channel frequency (as before) and
      new attributes for the channel width and first and
      second center frequency. The old channel type is of
      course still supported for HT.
      
      Also change the cfg80211 channel definition struct
      to support these by adding the relevant fields to
      it (and removing the _type field.)
      
      This also adds new helper functions:
       - cfg80211_chandef_create to create a channel def
         struct given the control channel and channel type,
       - cfg80211_chandef_identical to check if two channel
         definitions are identical
       - cfg80211_chandef_compatible to check if the given
         channel definitions are compatible, and return the
         wider of the two
      
      This isn't entirely complete, but that doesn't matter
      until we have a driver using it. In particular, it's
      missing
       - regulatory checks on the usable bandwidth (if that
         even makes sense)
       - regulatory TX power (database can't deal with it)
       - a proper channel compatibility calculation for the
         new channel types
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      3d9d1d66
    • Johannes Berg's avatar
      cfg80211: pass a channel definition struct · 683b6d3b
      Johannes Berg authored
      
      
      Instead of passing a channel pointer and channel type
      to all functions and driver methods, pass a new channel
      definition struct. Right now, this struct contains just
      the control channel and channel type, but for VHT this
      will change.
      
      Also, add a small inline cfg80211_get_chandef_type() so
      that drivers don't need to use the _type field of the
      new structure all the time, which will change.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      683b6d3b
  9. 18 Oct, 2012 2 commits
  10. 29 Jun, 2012 2 commits
  11. 18 Jun, 2012 1 commit
  12. 14 Jun, 2012 1 commit
  13. 06 Jun, 2012 1 commit
  14. 05 Jun, 2012 1 commit
    • Johannes Berg's avatar
      cfg80211: provide channel to join_mesh function · cc1d2806
      Johannes Berg authored
      
      
      Just like the AP mode patch, instead of setting
      the channel and then joining the mesh network,
      provide the channel to join the network on to
      the join_mesh() function.
      
      Like in AP mode, you can also give the channel
      to the join-mesh nl80211 command now.
      
      Unlike AP mode, it picks a default channel if
      none was given.
      
      As libertas uses mesh mode interfaces but has
      no join_mesh callback and we can't simply break
      it, keep some compatibility code for that case
      and configure the channel directly for it.
      
      In the non-libertas case, where we store the
      channel until join, allow setting it while the
      interface is down.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      cc1d2806
  15. 08 May, 2012 1 commit
  16. 10 Apr, 2012 1 commit
  17. 05 Mar, 2012 1 commit
  18. 27 Jan, 2012 1 commit
  19. 28 Nov, 2011 1 commit
  20. 31 Oct, 2011 1 commit
  21. 24 Aug, 2011 2 commits
  22. 12 Apr, 2011 4 commits
  23. 20 Dec, 2010 1 commit
  24. 06 Dec, 2010 1 commit
    • Johannes Berg's avatar
      cfg80211/mac80211: add mesh join/leave commands · 29cbe68c
      Johannes Berg authored
      
      
      Instead of tying mesh activity to interface up,
      add join and leave commands for mesh. Since we
      must be backward compatible, let cfg80211 handle
      joining a mesh if a mesh ID was pre-configured
      when the device goes up.
      
      Note that this therefore must modify mac80211 as
      well since mac80211 needs to lose the logic to
      start the mesh on interface up.
      
      We now allow querying mesh parameters before the
      mesh is connected, which simply returns defaults.
      Setting them (internally renamed to "update") is
      only allowed while connected. Specify them with
      the new mesh join command instead where needed.
      
      In mac80211, beaconing must now also follow the
      mesh enabled/not enabled state, which is done
      by testing the mesh ID.
      Signed-off-by: default avatarJavier Cardona <javier@cozybit.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      29cbe68c