1. 17 12月, 2014 3 次提交
    • A
      cfg80211: avoid intersection when applying self-managed reg · db8dfee5
      Arik Nemtsov 提交于
      The custom-reg handling function can currently only add flags to a given
      channel. This results in stale flags being left applied. In some cases
      a channel was disabled and even the orig_flags were changed to reflect
      this.
      
      Previously the API was designed for a single invocation before wiphy
      registration, so this didn't matter. The previous approach doesn't scale
      well to self-managed regulatory devices, particularly when a more
      permissive regdom is applied after a restrictive one.
      Signed-off-by: NArik Nemtsov <arikx.nemtsov@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      db8dfee5
    • J
      cfg80211: allow wiphy specific regdomain management · b0d7aa59
      Jonathan Doron 提交于
      Add a new regulatory flag that allows a driver to manage regdomain
      changes/updates for its own wiphy.
      A self-managed wiphys only employs regulatory information obtained from
      the FW and driver and does not use other cfg80211 sources like
      beacon-hints, country-code IEs and hints from other devices on the same
      system. Conversely, a self-managed wiphy does not share its regulatory
      hints with other devices in the system. If a system contains several
      devices, one or more of which are self-managed, there might be
      contradictory regulatory settings between them. Usage of flag is
      generally discouraged. Only use it if the FW/driver is incompatible
      with non-locally originated hints.
      
      A new API lets the driver send a complete regdomain, to be applied on
      its wiphy only.
      
      After a wiphy-specific regdomain change takes place, usermode will get
      a new type of change notification. The regulatory core also takes care
      enforce regulatory restrictions, in case some interfaces are on
      forbidden channels.
      Signed-off-by: NJonathan Doron <jonathanx.doron@intel.com>
      Signed-off-by: NArik Nemtsov <arikx.nemtsov@intel.com>
      Reviewed-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b0d7aa59
    • A
      cfg80211: allow usermode to query wiphy specific regdom · ad30ca2c
      Arik Nemtsov 提交于
      If a wiphy-idx is specified, the kernel will return the wiphy specific
      regdomain, if such exists. Otherwise return the global regdom.
      
      When no wiphy-idx is specified, return the global regdomain as well as
      all wiphy-specific regulatory domains in the system, via a new nested
      list of attributes.
      
      Add a new attribute for each wiphy-specific regdomain, for usermode to
      identify it as such.
      Signed-off-by: NArik Nemtsov <arikx.nemtsov@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ad30ca2c
  2. 12 12月, 2014 4 次提交
  3. 28 11月, 2014 1 次提交
  4. 20 11月, 2014 2 次提交
  5. 10 11月, 2014 1 次提交
  6. 05 9月, 2014 2 次提交
  7. 23 6月, 2014 1 次提交
  8. 21 5月, 2014 1 次提交
  9. 25 4月, 2014 1 次提交
  10. 22 4月, 2014 2 次提交
    • L
      cfg80211: fix processing world regdomain when non modular · 96cce12f
      Luis R. Rodriguez 提交于
      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: NSander Eikelenboom <linux@eikelenboom.it>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      96cce12f
    • A
      cfg80211: avoid freeing last_request while in flight · c888393b
      Arik Nemtsov 提交于
      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: NEliad Peller <eliad@wizery.com>
      Tested-by: NColleen Twitty <colleen@cozybit.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c888393b
  11. 11 4月, 2014 1 次提交
  12. 09 4月, 2014 6 次提交
  13. 03 3月, 2014 1 次提交
  14. 26 2月, 2014 1 次提交
  15. 25 2月, 2014 3 次提交
  16. 21 2月, 2014 1 次提交
  17. 19 2月, 2014 1 次提交
  18. 05 2月, 2014 5 次提交
  19. 14 1月, 2014 1 次提交
  20. 03 12月, 2013 1 次提交
  21. 26 11月, 2013 1 次提交