1. 15 8月, 2014 1 次提交
  2. 09 4月, 2014 1 次提交
    • I
      cfg80211: Enable GO operation on additional channels · 174e0cd2
      Ilan Peer 提交于
      Allow GO operation on a channel marked with IEEE80211_CHAN_GO_CONCURRENT
      iff there is an active station interface that is associated to
      an AP operating on the same channel in the 2 GHz band or the same UNII band
      (in the 5 GHz band). This relaxation is not allowed if the channel is
      marked with IEEE80211_CHAN_RADAR.
      
      Note that this is a permissive approach to the FCC definitions,
      that require a clear assessment that the device operating the AP is
      an authorized master, i.e., with radar detection and DFS capabilities.
      
      It is assumed that such restrictions are enforced by user space.
      Furthermore, it is assumed, that if the conditions that allowed for
      the operation of the GO on such a channel change, i.e., the station
      interface disconnected from the AP, it is the responsibility of user
      space to evacuate the GO from the channel.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      174e0cd2
  3. 26 2月, 2014 1 次提交
  4. 14 1月, 2014 1 次提交
  5. 26 11月, 2013 4 次提交
    • L
      cfg80211: use enum nl80211_dfs_regions for dfs_region everywhere · 4c7d3982
      Luis R. Rodriguez 提交于
      u8 was used in some other places, just stick to the enum,
      this forces us to express the values that are expected.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4c7d3982
    • L
      cfg80211: add an option to disable processing country IEs · 2a901468
      Luis R. Rodriguez 提交于
      Certain vendors may want to disable the processing of
      country IEs so that they can continue using the regulatory
      domain the driver or user has set.  Currently there is no
      way to stop the core from processing country IEs, so add
      support to the core to ignore country IE hints.
      
      Cc: Mihir Shete <smihir@qti.qualcomm.com>
      Cc: Henri Bahini <hbahini@qca.qualcomm.com>
      Cc: Tushnim Bhattacharyya <tushnimb@qca.qualcomm.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      2a901468
    • L
      cfg80211: add flags to define country IE processing rules · a09a85a0
      Luis R. Rodriguez 提交于
      802.11 cards may have different country IE parsing behavioural
      preferences and vendors may want to support these. These preferences
      were managed by the REGULATORY_CUSTOM_REG and the REGULATORY_STRICT_REG
      flags and their combination. Instead of using this existing notation,
      split out the country IE behavioural preferences as a new flag. This
      will allow us to add more customizations easily and make the code more
      maintainable.
      
      Cc: Mihir Shete <smihir@qti.qualcomm.com>
      Cc: Henri Bahini <hbahini@qca.qualcomm.com>
      Cc: Tushnim Bhattacharyya <tushnimb@qca.qualcomm.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [fix up conflicts]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a09a85a0
    • L
      cfg80211: move regulatory flags to their own variable · a2f73b6c
      Luis R. Rodriguez 提交于
      We'll expand this later, this will make it easier to
      classify and review what things are related to regulatory
      or not.
      
      Coccinelle only missed 4 hits, which I had to do manually,
      supplying the SmPL in case of merge conflicts.
      
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY
      +wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG
      @@
      expression e;
      @@
      -e->flags |= WIPHY_FLAG_CUSTOM_REGULATORY
      +e->regulatory_flags |= REGULATORY_CUSTOM_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags &= ~WIPHY_FLAG_CUSTOM_REGULATORY
      +wiphy->regulatory_flags &= ~REGULATORY_CUSTOM_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags & WIPHY_FLAG_CUSTOM_REGULATORY
      +wiphy->regulatory_flags & REGULATORY_CUSTOM_REG
      
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY
      +wiphy->regulatory_flags |= REGULATORY_STRICT_REG
      @@
      expression e;
      @@
      -e->flags |= WIPHY_FLAG_STRICT_REGULATORY
      +e->regulatory_flags |= REGULATORY_STRICT_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags &= ~WIPHY_FLAG_STRICT_REGULATORY
      +wiphy->regulatory_flags &= ~REGULATORY_STRICT_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY
      +wiphy->regulatory_flags & REGULATORY_STRICT_REG
      
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags |= WIPHY_FLAG_DISABLE_BEACON_HINTS
      +wiphy->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS
      @@
      expression e;
      @@
      -e->flags |= WIPHY_FLAG_DISABLE_BEACON_HINTS
      +e->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags &= ~WIPHY_FLAG_DISABLE_BEACON_HINTS
      +wiphy->regulatory_flags &= ~REGULATORY_DISABLE_BEACON_HINTS
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags & WIPHY_FLAG_DISABLE_BEACON_HINTS
      +wiphy->regulatory_flags & REGULATORY_DISABLE_BEACON_HINTS
      
      Generated-by: Coccinelle SmPL
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      Cc: Peter Senna Tschudin <peter.senna@gmail.com>
      Cc: Mihir Shete <smihir@qti.qualcomm.com>
      Cc: Henri Bahini <hbahini@qca.qualcomm.com>
      Cc: Tushnim Bhattacharyya <tushnimb@qca.qualcomm.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [fix up whitespace damage, overly long lines]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a2f73b6c
  6. 03 1月, 2013 2 次提交
  7. 17 7月, 2012 1 次提交
    • L
      cfg80211: add cellular base station regulatory hint support · 57b5ce07
      Luis R. Rodriguez 提交于
      Cellular base stations can provide hints to cfg80211 about
      where they think we are. This can be done for example on
      a cell phone. To enable these hints we simply allow them
      through as user regulatory hints but we allow userspace
      to clasify the hint as either coming directly from the
      user or coming from a cellular base station. This option
      is only available when you enable
      CONFIG_CFG80211_CERTIFICATION_ONUS.
      
      The base station hints themselves will not be processed
      by the core unless at least one device on the system
      supports this feature.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      57b5ce07
  8. 22 11月, 2011 2 次提交
  9. 26 8月, 2011 1 次提交
  10. 23 11月, 2010 1 次提交
    • L
      cfg80211: Fix regulatory bug with multiple cards and delays · b2e253cf
      Luis R. Rodriguez 提交于
      When two cards are connected with the same regulatory domain
      if CRDA had a delayed response then cfg80211's own set regulatory
      domain would still be the world regulatory domain. There was a bug
      on cfg80211's logic such that it assumed that once you pegged a
      request as the last request it was already the currently set
      regulatory domain. This would mean we would race setting a stale
      regulatory domain to secondary cards which had the same regulatory
      domain since the alpha2 would match.
      
      We fix this by processing each regulatory request atomically,
      and only move on to the next one once we get it fully processed.
      In the case CRDA is not present we will simply world roam.
      
      This issue is only present when you have a slow system and the
      CRDA processing is delayed. Because of this it is not a known
      regression.
      
      Without this fix when a delay is present with CRDA the second card
      would end up with an intersected regulatory domain and not allow it
      to use the channels it really is designed for. When two cards with
      two different regulatory domains were inserted you'd end up
      rejecting the second card's regulatory domain request.
      This fails with mac80211_hswim's regtest=2 (two requests, same alpha2)
      and regtest=3 (two requests, different alpha2) module parameter
      options.
      
      This was reproduced and tested against mac80211_hwsim using this
      CRDA delayer:
      
             #!/bin/bash
             echo $COUNTRY >> /tmp/log
             sleep 2
             /sbin/crda.orig
      
      And these regulatory tests:
      
             modprobe mac80211_hwsim regtest=2
             modprobe mac80211_hwsim regtest=3
      Reported-by: NMark Mentovai <mark@moxienet.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Tested-by: NMark Mentovai <mark@moxienet.com>
      Tested-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b2e253cf
  11. 21 7月, 2010 1 次提交
  12. 02 2月, 2010 1 次提交
    • L
      cfg80211: add regulatory hint disconnect support · 09d989d1
      Luis R. Rodriguez 提交于
      This adds a new regulatory hint to be used when we know all
      devices have been disconnected and idle. This can happen
      when we suspend, for instance. When we disconnect we can
      no longer assume the same regulatory rules learned from
      a country IE or beacon hints are applicable so restore
      regulatory settings to an initial state.
      
      Since driver hints are cached on the wiphy that called
      the hint, those hints are not reproduced onto cfg80211
      as the wiphy will respect its own wiphy->regd regardless.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      09d989d1
  13. 23 4月, 2009 1 次提交
    • J
      cfg80211: clean up includes · d3236553
      Johannes Berg 提交于
      Trying to separate header files into net/wireless.h and
      net/cfg80211.h has been a source of confusion. Remove
      net/wireless.h (because there also is the linux/wireless.h)
      and subsume everything into net/cfg80211.h -- except the
      definitions for regulatory structures which get moved to
      a new header net/regulatory.h.
      
      The "new" net/cfg80211.h is now divided into sections.
      
      There are no real changes in this patch but code shuffling
      and some very minor documentation fixes.
      
      I have also, to make things reflect reality, put in a
      copyright line for Luis to net/regulatory.h since that
      is probably exclusively written by him but was formerly
      in a file that only had my copyright line.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: Luis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d3236553