1. 14 8月, 2015 1 次提交
  2. 17 7月, 2015 3 次提交
  3. 06 5月, 2015 1 次提交
  4. 01 4月, 2015 1 次提交
  5. 17 3月, 2015 1 次提交
  6. 06 3月, 2015 3 次提交
    • I
      cfg80211: Schedule timeout for all CRDA calls · eeca9fce
      Ilan peer 提交于
      Timeout was scheduled only in case CRDA was called due to user hints,
      but was not scheduled for other cases. This can result in regulatory
      hint processing getting stuck in case that there is no CRDA configured.
      
      Change this by scheduling a timeout every time CRDA is called. In
      addition, in restore_regulatory_settings() all pending requests are
      restored (and not only the user ones).
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Acked-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      eeca9fce
    • I
      cfg80211: Add API to change the indoor regulatory setting · 05050753
      Ilan peer 提交于
      Previously, the indoor setting configuration assumed that as
      long as a station interface is connected, the indoor environment
      setting does not change. However, this assumption is problematic
      as:
      
      - It is possible that a station interface is connected to a mobile
        AP, e.g., softAP or a P2P GO, where it is possible that both the
        station and the mobile AP move out of the indoor environment making
        the indoor setting invalid. In such a case, user space has no way to
        invalidate the setting.
      - A station interface disconnection does not necessarily imply that
        the device is no longer operating in an indoor environment, e.g.,
        it is possible that the station interface is roaming but is still
        stays indoor.
      
      To handle the above, extend the indoor configuration API to allow
      user space to indicate a change of indoor settings, and allow it to
      indicate weather it controls the indoor setting, such that:
      
      1. If the user space process explicitly indicates that it is going
         to control the indoor setting, do not clear the indoor setting
         internally, unless the socket is released. The user space process
         should use the NL80211_ATTR_SOCKET_OWNER attribute in the command
         to state that it is going to control the indoor setting.
      2. Reset the indoor setting when restoring the regulatory settings in
         case it is not owned by a user space process.
      
      Based on the above, a user space tool that continuously monitors the
      indoor settings, i.e., tracking power setting, location etc., can
      indicate environment changes to the regulatory core.
      
      It should be noted that currently user space is the only provided mechanism
      used to hint to the regulatory core over the indoor/outdoor environment --
      while the country IEs do have an environment setting this has been completely
      ignored by the regulatory core by design for a while now since country IEs
      typically can contain bogus data.
      Acked-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NArikX Nemtsov <arik@wizery.com>
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      05050753
    • I
      cfg80211: Simplify the handling of regulatory indoor setting · 0c4ddcd2
      Ilan peer 提交于
      Directly update the indoor setting without wrapping it as
      a regulatory request, to simplify the processing.
      Acked-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      0c4ddcd2
  7. 24 2月, 2015 1 次提交
  8. 14 1月, 2015 2 次提交
  9. 07 1月, 2015 1 次提交
  10. 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
  11. 12 12月, 2014 4 次提交
  12. 28 11月, 2014 1 次提交
  13. 20 11月, 2014 2 次提交
  14. 10 11月, 2014 1 次提交
  15. 05 9月, 2014 2 次提交
  16. 23 6月, 2014 1 次提交
  17. 21 5月, 2014 1 次提交
  18. 25 4月, 2014 1 次提交
  19. 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
  20. 11 4月, 2014 1 次提交
  21. 09 4月, 2014 6 次提交
  22. 03 3月, 2014 1 次提交