1. 25 5月, 2013 2 次提交
    • J
      regulatory: use RCU in regulatory_hint_11d() · db2424c5
      Johannes Berg 提交于
      Since it just does a quick check of the last regulatory
      request, the function doesn't have to hold the reg mutex
      but can use RCU instead.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      db2424c5
    • J
      cfg80211: vastly simplify locking · 5fe231e8
      Johannes Berg 提交于
      Virtually all code paths in cfg80211 already (need to) hold
      the RTNL. As such, there's little point in having another
      four mutexes for various parts of the code, they just cause
      lock ordering issues (and much of the time, the RTNL and a
      few of the others need thus be held.)
      
      Simplify all this by getting rid of the extra four mutexes
      and just use the RTNL throughout. Only a few code changes
      were needed to do this and we can get rid of a work struct
      for bonus points.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5fe231e8
  2. 16 4月, 2013 1 次提交
    • J
      wireless: regulatory: fix channel disabling race condition · 990de49f
      Johannes Berg 提交于
      When a full scan 2.4 and 5 GHz scan is scheduled, but then the 2.4 GHz
      part of the scan disables a 5.2 GHz channel due to, e.g. receiving
      country or frequency information, that 5.2 GHz channel might already
      be in the list of channels to scan next. Then, when the driver checks
      if it should do a passive scan, that will return false and attempt an
      active scan. This is not only wrong but can also lead to the iwlwifi
      device firmware crashing since it checks regulatory as well.
      
      Fix this by not setting the channel flags to just disabled but rather
      OR'ing in the disabled flag. That way, even if the race happens, the
      channel will be scanned passively which is still (mostly) correct.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      990de49f
  3. 06 3月, 2013 1 次提交
  4. 15 2月, 2013 2 次提交
  5. 12 2月, 2013 1 次提交
  6. 11 1月, 2013 1 次提交
  7. 09 1月, 2013 2 次提交
  8. 03 1月, 2013 26 次提交
  9. 22 12月, 2012 1 次提交
  10. 30 11月, 2012 1 次提交
    • J
      cfg80211: fix BSS struct IE access races · 9caf0364
      Johannes Berg 提交于
      When a BSS struct is updated, the IEs are currently
      overwritten or freed. This can lead to races if some
      other CPU is accessing the BSS struct and using the
      IEs concurrently.
      
      Fix this by always allocating the IEs in a new struct
      that holds the data and length and protecting access
      to this new struct with RCU.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9caf0364
  11. 12 11月, 2012 1 次提交
  12. 18 10月, 2012 1 次提交