All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

  1. 19 Dec, 2013 1 commit
    • Johannes Berg's avatar
      mac80211: fix iflist_mtx/mtx locking in radar detection · 34a3740d
      Johannes Berg authored
      The scan code creates an iflist_mtx -> mtx locking dependency,
      and a few other places, notably radar detection, were creating
      the opposite dependency, causing lockdep to complain. As scan
      and radar detection are mutually exclusive, the deadlock can't
      really happen in practice, but it's still bad form.
      
      A similar issue exists in the monitor mode code, but this is
      only used by channel-context drivers right now and those have
      to have hardware scan, so that also can't happen.
      
      Still, fix these issues by making some of the channel context
      code require the mtx to be held rather than acquiring it, thus
      allowing the monitor/radar callers to keep the iflist_mtx->mtx
      lock ordering.
      
      While at it, also fix access to the local->scanning variable
      in the radar code, and document that radar_detect_enabled is
      now properly protected by the mtx.
      
      All this would now introduce an ABBA deadlock between the DFS
      work cancelling and local->mtx, so change the locking there a
      bit to not need to use cancel_delayed_work_sync() but be able
      to just use cancel_delayed_work(). The work is also safely
      stopped/removed when the interface is stopped, so no extra
      changes are needed.
      Reported-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      Tested-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      34a3740d
  2. 16 Dec, 2013 3 commits
  3. 05 Dec, 2013 1 commit
  4. 02 Dec, 2013 1 commit
  5. 25 Nov, 2013 1 commit
  6. 28 Oct, 2013 3 commits
  7. 01 Oct, 2013 1 commit
  8. 26 Sep, 2013 3 commits
  9. 21 Aug, 2013 2 commits
  10. 16 Aug, 2013 1 commit
  11. 12 Aug, 2013 1 commit
  12. 01 Aug, 2013 1 commit
  13. 16 Jul, 2013 7 commits
  14. 18 Jun, 2013 3 commits
  15. 24 May, 2013 2 commits
  16. 16 Apr, 2013 1 commit
    • Johannes Berg's avatar
      mac80211: parse VHT channel switch IEs · b2e506bf
      Johannes Berg authored
      VHT introduces multiple IEs that need to be parsed for a
      wide bandwidth channel switch. Two are (currently) needed
      in mac80211:
       * wide bandwidth channel switch element
       * channel switch wrapper element
      
      The former is contained in the latter for beacons and probe
      responses, but not for the spectrum management action frames
      so the IE parser needs a new argument to differentiate them.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      b2e506bf
  17. 10 Apr, 2013 1 commit
  18. 08 Apr, 2013 1 commit
  19. 25 Mar, 2013 2 commits
  20. 06 Mar, 2013 1 commit
  21. 15 Feb, 2013 1 commit
    • Johannes Berg's avatar
      mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 · e1a0c6b3
      Johannes Berg authored
      For VHT, many more bandwidth changes are possible. As a first
      step, stop toggling the IEEE80211_HT_CAP_SUP_WIDTH_20_40 flag
      in the HT capabilities and instead introduce a bandwidth field
      indicating the currently usable bandwidth to transmit to the
      station. Of course, make all drivers use it.
      
      To achieve this, make ieee80211_ht_cap_ie_to_sta_ht_cap() get
      the station as an argument, rather than the new capabilities,
      so it can set up the new bandwidth field.
      
      If the station is a VHT station and VHT bandwidth is in use,
      also set the bandwidth accordingly.
      
      Doing this allows us to get rid of the supports_40mhz flag as
      the HT capabilities now reflect the true capability instead of
      the current setting.
      
      While at it, also fix ieee80211_ht_cap_ie_to_sta_ht_cap() to not
      ignore HT cap overrides when MCS TX isn't supported (not that it
      really happens...)
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e1a0c6b3
  22. 11 Feb, 2013 2 commits
    • Johannes Berg's avatar
      mac80211: simplify idle handling · fd0f979a
      Johannes Berg authored
      Now that we have channel contexts, idle is (pretty
      much) equivalent to not having a channel context.
      Change the code to use this relation so that there
      no longer is a need for a lot of idle recalculate
      calls everywhere.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      fd0f979a
    • Johannes Berg's avatar
      cfg80211: move TSF into IEs · 8cef2c9d
      Johannes Berg authored
      While technically the TSF isn't an IE, it can be
      necessary to distinguish between the TSF from a
      beacon and a probe response, in particular in
      order to know the next DTIM TBTT, as not all APs
      are spec compliant wrt. TSF==0 being a DTIM TBTT
      and thus the DTIM count needs to be taken into
      account as well.
      
      To allow this, move the TSF into the IE struct
      so it can be known whence it came.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8cef2c9d