1. 01 10月, 2013 1 次提交
  2. 26 9月, 2013 1 次提交
  3. 23 8月, 2013 1 次提交
  4. 14 8月, 2013 1 次提交
  5. 12 8月, 2013 2 次提交
  6. 02 8月, 2013 1 次提交
  7. 31 7月, 2013 1 次提交
  8. 16 7月, 2013 7 次提交
  9. 20 6月, 2013 2 次提交
  10. 18 6月, 2013 2 次提交
  11. 11 6月, 2013 5 次提交
  12. 04 6月, 2013 4 次提交
    • J
      cfg80211: separate internal SME implementation · ceca7b71
      Johannes Berg 提交于
      The current internal SME implementation in cfg80211 is
      very mixed up with the MLME handling, which has been
      causing issues for a long time. There are three things
      that the implementation has to provide:
       * a basic SME implementation for nl80211's connect()
         call (for drivers implementing auth/assoc, which is
         really just mac80211) and wireless extensions
       * MLME events for the userspace SME
       * SME events (connected, disconnected etc.) for all
         different SME implementation possibilities (driver,
         cfg80211 and userspace)
      
      To achieve these goals it isn't necessary to track the
      software SME's connection status outside of it's state
      (which is the part that caused many issues.) Instead,
      track it only in the SME data (wdev->conn) and in the
      general case only track whether the wdev is connected
      or not (via wdev->current_bss.)
      
      Also separate the internal implementation to not have
      callbacks from the SME events, but rather call it from
      the API functions that the driver (or rather mac80211)
      calls. This separates the code better.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ceca7b71
    • J
      cfg80211/mac80211: clean up cfg80211 SME APIs · 6ff57cf8
      Johannes Berg 提交于
      Do some cleanups in the cfg80211 SME APIs, which are
      only used by mac80211.
      
      Most of these functions get a frame passed, and there
      isn't really any reason to export multiple functions
      as cfg80211 can check the frame type instead, do that.
      
      Additionally, the API functions have confusing names
      like cfg80211_send_...() which was meant to indicate
      that it sends an event to userspace, but gets a bit
      confusing when there's both TX and RX and they're not
      all clearly labeled.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      6ff57cf8
    • J
      nl80211: remove bogus genlmsg_end() error checking · 9c90a9f6
      Johannes Berg 提交于
      genlmsg_end() can't return an error since it returns the
      skb length so remove checks treating the return value as
      an error code.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9c90a9f6
    • J
      cfg80211: take WoWLAN support information out of wiphy struct · 964dc9e2
      Johannes Berg 提交于
      There's no need to take up the space for devices that don't
      support WoWLAN, and most drivers can even make the support
      data static const (except where it's modified at runtime.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      964dc9e2
  13. 29 5月, 2013 1 次提交
  14. 27 5月, 2013 1 次提交
  15. 25 5月, 2013 4 次提交
    • J
      cfg80211: remove some locked wrappers from sme API · 83739b03
      Johannes Berg 提交于
      By making all the API functions require wdev locking we
      can clean up the API a bit, getting rid of the locking
      version of each function. This also decreases the size
      of cfg80211 by a small amount.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      83739b03
    • J
      cfg80211: remove some locked wrappers from mlme API · 91bf9b26
      Johannes Berg 提交于
      By making all the API functions require wdev locking we
      can clean up the API a bit, getting rid of the locking
      version of each function. This also decreases the size
      of cfg80211 by a small amount.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      91bf9b26
    • J
      cfg80211: vastly simplify locking · 5fe231e8
      Johannes Berg 提交于
      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: NJohannes Berg <johannes.berg@intel.com>
      5fe231e8
    • J
      cfg80211: Allow TDLS peer AID to be configured for VHT · 5e4b6f56
      Jouni Malinen 提交于
      VHT uses peer AID in the PARTIAL_AID field in TDLS frames. The current
      design for TDLS is to first add a dummy STA entry before completing TDLS
      Setup and then update information on this STA entry based on what was
      received from the peer during the setup exchange.
      
      In theory, this could use NL80211_ATTR_STA_AID to set the peer AID just
      like this is used in AP mode to set the AID of an association station.
      However, existing cfg80211 validation rules prevent this attribute from
      being used with set_station operation. To avoid interoperability issues
      between different kernel and user space version combinations, introduce
      a new nl80211 attribute for the purpose of setting TDLS peer AID. This
      attribute can be used in both the new_station and set_station
      operations. It is not supposed to be allowed to change the AID value
      during the lifetime of the STA entry, but that validation is left for
      drivers to do in the change_station callback.
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5e4b6f56
  16. 24 5月, 2013 1 次提交
  17. 17 5月, 2013 5 次提交