1. 12 Dec, 2014 2 commits
  2. 28 Nov, 2014 1 commit
  3. 19 Nov, 2014 2 commits
  4. 10 Nov, 2014 1 commit
  5. 05 Sep, 2014 2 commits
  6. 23 Jun, 2014 1 commit
  7. 21 May, 2014 1 commit
  8. 25 Apr, 2014 1 commit
  9. 22 Apr, 2014 2 commits
    • Luis R. Rodriguez's avatar
      cfg80211: fix processing world regdomain when non modular · 96cce12f
      Luis R. Rodriguez authored
      
      This allows processing of the last regulatory request when
      we determine its still pending. Without this if a regulatory
      request failed to get processed by userspace we wouldn't
      be able to re-process it later. An example situation that can
      lead to an unprocessed last_request is enabling cfg80211 to
      be built-in to the kernel, not enabling CFG80211_INTERNAL_REGDB
      and the CRDA binary not being available at the time the udev
      rule that kicks of CRDA triggers.
      
      In such a situation we want to let some cfg80211 triggers
      eventually kick CRDA for us again. Without this if the first
      cycle attempt to kick off CRDA failed we'd be stuck without
      the ability to change process any further regulatory domains.
      
      cfg80211 will trigger re-processing of the regulatory queue
      whenever schedule_work(&reg_work) is called, currently this
      happens when:
      
        * suspend / resume
        * disconnect
        * a beacon hint gets triggered (non DFS 5 GHz AP found)
        * a regulatory request gets added to the queue
      
      We don't have any specific opportunistic late boot triggers
      to address a late mount of where CRDA resides though, adding
      that should be done separately through another patch.
      Without an opportunistic fix then this fix relies at least
      one of the triggeres above to happen.
      Reported-by: default avatarSander Eikelenboom <linux@eikelenboom.it>
      Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      96cce12f
    • Arik Nemtsov's avatar
      cfg80211: avoid freeing last_request while in flight · c888393b
      Arik Nemtsov authored
      
      Avoid freeing the last request while it is being processed. This can
      happen in some cases if reg_work is kicked for some reason while the
      currently pending request is in flight.
      
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Tested-by: default avatarEliad Peller <eliad@wizery.com>
      Tested-by: default avatarColleen Twitty <colleen@cozybit.com>
      Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
      Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c888393b
  10. 11 Apr, 2014 1 commit
  11. 09 Apr, 2014 6 commits
  12. 03 Mar, 2014 1 commit
  13. 25 Feb, 2014 4 commits
  14. 21 Feb, 2014 1 commit
  15. 19 Feb, 2014 1 commit
  16. 05 Feb, 2014 1 commit
    • Janusz Dziedzic's avatar
      cfg80211: regulatory introduce maximum bandwidth calculation · 97524820
      Janusz Dziedzic authored
      
      In case we will get regulatory request with rule
      where max_bandwidth_khz is set to 0 handle this
      case as a special one.
      
      If max_bandwidth_khz == 0 we should calculate maximum
      available bandwidth base on all frequency contiguous rules.
      In case we need auto calculation we just have to set:
      
      country PL: DFS-ETSI
              (2402 - 2482 @ 40), (N/A, 20)
              (5170 - 5250 @ AUTO), (N/A, 20)
              (5250 - 5330 @ AUTO), (N/A, 20), DFS
              (5490 - 5710 @ 80), (N/A, 27), DFS
      
      This mean we will calculate maximum bw for rules where
      AUTO (N/A) were set, 160MHz (5330 - 5170) in example above.
      So we will get:
              (5170 - 5250 @ 160), (N/A, 20)
              (5250 - 5330 @ 160), (N/A, 20), DFS
      
      In other case:
      country FR: DFS-ETSI
              (2402 - 2482 @ 40), (N/A, 20)
              (5170 - 5250 @ AUTO), (N/A, 20)
              (5250 - 5330 @ 80), (N/A, 20), DFS
              (5490 - 5710 @ 80), (N/A, 27), DFS
      
      We will get 80MHz (5250 - 5170):
              (5170 - 5250 @ 80), (N/A, 20)
              (5250 - 5330 @ 80), (N/A, 20), DFS
      
      Base on this calculations we will set correct channel
      bandwidth flags (eg. IEEE80211_CHAN_NO_80MHZ).
      
      We don't need any changes in CRDA or internal regulatory.
      Signed-off-by: default avatarJanusz Dziedzic <janusz.dziedzic@tieto.com>
      [extend nl80211 description a bit, fix typo]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      97524820
  17. 04 Feb, 2014 4 commits
  18. 13 Jan, 2014 1 commit
  19. 03 Dec, 2013 1 commit
  20. 25 Nov, 2013 6 commits