1. 06 Mar, 2015 3 commits
    • Ilan peer's avatar
      cfg80211: Schedule timeout for all CRDA calls · eeca9fce
      Ilan peer authored
      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: default avatarIlan Peer <ilan.peer@intel.com>
      Acked-by: default avatarLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      eeca9fce
    • Ilan peer's avatar
      cfg80211: Add API to change the indoor regulatory setting · 05050753
      Ilan peer authored
      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: default avatarLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: default avatarArikX Nemtsov <arik@wizery.com>
      Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      05050753
    • Ilan peer's avatar
      cfg80211: Simplify the handling of regulatory indoor setting · 0c4ddcd2
      Ilan peer authored
      Directly update the indoor setting without wrapping it as
      a regulatory request, to simplify the processing.
      Acked-by: default avatarLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      0c4ddcd2
  2. 04 Mar, 2015 12 commits
  3. 03 Mar, 2015 10 commits
  4. 28 Feb, 2015 8 commits
  5. 22 Feb, 2015 4 commits
  6. 21 Feb, 2015 3 commits