1. 19 Jun, 2013 4 commits
  2. 18 Jun, 2013 7 commits
  3. 13 Jun, 2013 3 commits
  4. 12 Jun, 2013 4 commits
  5. 11 Jun, 2013 11 commits
  6. 05 Jun, 2013 3 commits
  7. 04 Jun, 2013 8 commits
    • Johannes Berg's avatar
      cfg80211: make wiphy index start at 0 again · 9b881963
      Johannes Berg authored
      
      
      The change to use atomic_inc_return() for assigning the wiphy
      index made the first wiphy index 1 instead of 0. This is fine,
      but we all habitually type "phy0" when we're testing, so make
      it go back to 0 instead of 1 by subtracting 1 from the index.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      9b881963
    • Johannes Berg's avatar
      cfg80211: fix potential deadlock regression · 256c90de
      Johannes Berg authored
      
      
      My big locking cleanups caused a problem by registering the
      rfkill instance with the RTNL held, while the callback also
      acquires the RTNL. This potentially causes a deadlock since
      the two locks used (rfkill mutex and RTNL) can be acquired
      in two different orders. Fix this by (un)registering rfkill
      without holding the RTNL. This needs to be done after the
      device struct is registered, but that can also be done w/o
      holding the RTNL.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      256c90de
    • Johannes Berg's avatar
      regulatory: use proper enum return value · 3430140a
      Johannes Berg authored
      
      
      get_reg_request_treatment() returns 0 in one case but is
      defined to return an enum, use the proper value REG_REQ_OK.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      3430140a
    • Johannes Berg's avatar
      cfg80211: separate internal SME implementation · ceca7b71
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      ceca7b71
    • Johannes Berg's avatar
      cfg80211/mac80211: clean up cfg80211 SME APIs · 6ff57cf8
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      6ff57cf8
    • Johannes Berg's avatar
      Merge remote-tracking branch 'wireless-next/master' into HEAD · 51217cee
      Johannes Berg authored
      
      
      Merge to get the wil6210 changes that a cfg80211 change needs.
      A conflict in drivers/net/wireless/ath/ath9k/init.c was just
      whitespace changes.
      
      Also fix a semantic conflict due to cw1200 using WoWLAN which
      I had modified in my tree.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      51217cee
    • Pontus Fuchs's avatar
      mac80211: set IEEE80211_TX_CTL_REQ_TX_STATUS on nullframes · ff40b425
      Pontus Fuchs authored
      
      
      The connection monitor needs to know the tx status of
      nullframes to work properly.
      Signed-off-by: default avatarPontus Fuchs <pontus.fuchs@gmail.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      ff40b425
    • Johannes Berg's avatar
      nl80211: remove bogus genlmsg_end() error checking · 9c90a9f6
      Johannes Berg authored
      
      
      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: default avatarJohannes Berg <johannes.berg@intel.com>
      9c90a9f6