1. 17 7月, 2012 5 次提交
    • 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
    • L
      cfg80211: add CONFIG_CFG80211_CERTIFICATION_ONUS · b594bab9
      Luis R. Rodriguez 提交于
      This adds CONFIG_CFG80211_CERTIFICATION_ONUS which is to
      be used for features / code which require a bit of work on
      the system integrator's part to ensure that the system will
      still pass 802.11 regulatory certification. This option is
      also usable for researchers and experimenters looking to add
      code in the kernel without impacting compliant code.
      
      We'd use CONFIG_EXPERT alone but it seems that most standard
      Linux distributions are enabling CONFIG_EXPERT already. This
      allows us to define 802.11 specific kernel features under a
      flag that is intended by design to be disabled by standard
      Linux distributions, and only enabled by system integrators
      or distributions that have done work to ensure regulatory
      certification on the system with the enabled features.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b594bab9
    • K
      cfg80211: fix set_regdom() to cancel requests with same alpha2 · 95908535
      Kalle Valo 提交于
      While adding regulatory support to ath6kl I noticed that I easily
      got the regulatory code confused. The way to reproduce the bug was:
      
      1. iw reg set FI (in userspace)
      2. cfg80211 calls ath6kl_reg_notify(FI)
      3. ath6kl sets regdomain in firmware
      4. firmware sends regdomain event to notify about the new regdomain (FI)
      5. ath6kl calls regulatory_hint(FI)
      
      And this (from FI to FI transition) confuses cfg80211 and after that I
      only get "Pending regulatory request, waiting for it to be
      processed...." messages and regdomain changes won't work anymore.
      
      The reason why ath6kl calls regulatory_hint() is that firmware can change
      the regulatory domain by it's own, for example due to 11d IEs. I could
      of course workaround this in ath6kl but I think it's better to handle
      the case in cfg80211.
      
      The fix is pretty simple, use a different error code if the regdomain is
      same and then just set the request processed so that it doesn't block new
      requests.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      95908535
    • T
      cfg80211: support TX error rate CQM · 84f10708
      Thomas Pedersen 提交于
      Let the user configure serveral TX error conection quality monitoring
      parameters: % error rate, survey interval, and # of attempted packets.
      
      On exceeding the TX failure rate over the given interval, the driver
      will send a CQM notify event with the actual TX failure rate and
      packets attempted.
      Signed-off-by: NThomas Pedersen <c_tpeder@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      84f10708
    • J
      nl80211: add wdev ID as u64 as it should · 00f53350
      Johannes Berg 提交于
      In one of my previous patches I erroneously
      used nla_put_u32 for the wdev_id, fix that
      to use nla_put_u64.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      00f53350
  2. 13 7月, 2012 3 次提交
    • J
      cfg80211: reduce monitor interface tracking · 4290cb4b
      Johannes Berg 提交于
      Revert commit b78e8cea
      ("cfg80211: track monitor channel") and remove the
      set_monitor_enabled() callback.
      
      Due to the tracking happening in NETDEV_PRE_UP, it had
      introduced bugs because the monitor interface callback
      would be called before the device was started. It looks
      like there's no way to fix this, and using NETDEV_PRE_UP
      is broken anyway (since there's no NETDEV_UP_FAIL), so
      remove all that code, track interfaces in NETDEV_UP and
      also stop tracking the monitor channel in cfg80211.
      
      This mostly reverts to before the tracking, except that
      we keep the interface count tracking so that setting the
      monitor channel can be rejected properly.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4290cb4b
    • J
      cfg80211/mac80211: re-add get_channel operation · 5b7ccaf3
      Johannes Berg 提交于
      This essentially reverts commit 2e165b81 but
      introduces the get_channel operation with a new
      wireless_dev argument so that you can retrieve
      the channel per interface. This is necessary as
      even though we can track all interface channels
      (except monitor) we can't track the channel type
      used.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5b7ccaf3
    • J
      nl80211: allow enabling WoWLAN without triggers · ae33bd81
      Johannes Berg 提交于
      It may be desirable to use WoWLAN without triggers to
      keep the connection alive to the AP while suspended.
      Allow this use by enabling WoWLAN without triggers if
      no triggers were requested.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ae33bd81
  3. 12 7月, 2012 5 次提交
  4. 09 7月, 2012 5 次提交
  5. 08 7月, 2012 1 次提交
  6. 05 7月, 2012 2 次提交
  7. 04 7月, 2012 1 次提交
  8. 02 7月, 2012 2 次提交
  9. 29 6月, 2012 12 次提交
  10. 28 6月, 2012 1 次提交
  11. 27 6月, 2012 1 次提交
  12. 26 6月, 2012 1 次提交
  13. 20 6月, 2012 1 次提交
    • F
      cfg80211: fix regression in multi-vif AP start · 46c1dd0c
      Felix Fietkau 提交于
      Commit "cfg80211: provide channel to start_ap function" assumes that the
      channel is always passed to the NL80211_CMD_START_AP command, however
      in case of multi-BSSID, hostapd only passes the channel for the first vif.
      This makes starting beaconing on secondary vifs fail with -EINVAL.
      
      Fix this by storing the channel provided to .start_ap in wdev->preset_chan
      and picking the first AP vif's channel for secondary vifs if not provided.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      46c1dd0c