1. 01 8月, 2013 3 次提交
    • J
      mac80211: ignore HT primary channel while connected · 5cdaed1e
      Johannes Berg 提交于
      While we're connected, the AP shouldn't change the primary channel
      in the HT information. We checked this, and dropped the connection
      if it did change it.
      
      Unfortunately, this is causing problems on some APs, e.g. on the
      Netgear WRT610NL: the beacons seem to always contain a bad channel
      and if we made a connection using a probe response (correct data)
      we drop the connection immediately and can basically not connect
      properly at all.
      
      Work around this by ignoring the HT primary channel information in
      beacons if we're already connected.
      
      Also print out more verbose messages in the other situations to
      help diagnose similar bugs quicker in the future.
      
      Cc: stable@vger.kernel.org [3.10]
      Acked-by: NAndy Isaacson <adi@hexapodia.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5cdaed1e
    • J
      mac80211: don't wait for TX status forever · cb236d2d
      Johannes Berg 提交于
      TX status notification can get lost, or the frames could
      get stuck on the queue, so don't wait for the callback
      from the driver forever and instead time out after half
      a second.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      cb236d2d
    • C
      mac80211: fix infinite loop in ieee80211_determine_chantype · b56e4b85
      Chris Wright 提交于
      Commit "3d9646d0 mac80211: fix channel selection bug" introduced a possible
      infinite loop by moving the out target above the chandef_downgrade
      while loop.  When we downgrade to NL80211_CHAN_WIDTH_20_NOHT, we jump
      back up to re-run the while loop...indefinitely.  Replace goto with
      break and carry on.  This may not be sufficient to connect to the AP,
      but will at least keep the cpu from livelocking.  Thanks to Derek Atkins
      as an extra pair of debugging eyes.
      
      Cc: stable@kernel.org
      Signed-off-by: NChris Wright <chrisw@sous-sol.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b56e4b85
  2. 20 6月, 2013 1 次提交
  3. 18 6月, 2013 1 次提交
  4. 13 6月, 2013 1 次提交
  5. 12 6月, 2013 1 次提交
  6. 05 6月, 2013 2 次提交
  7. 04 6月, 2013 2 次提交
  8. 25 5月, 2013 1 次提交
    • J
      cfg80211/mac80211: use cfg80211 wdev mutex in mac80211 · 8d61ffa5
      Johannes Berg 提交于
      Using separate locks in cfg80211 and mac80211 has always
      caused issues, for example having to unlock in places in
      mac80211 to call cfg80211, which even needed a framework
      to make cfg80211 calls after some functions returned etc.
      
      Additionally, I suspect some issues people have reported
      with the cfg80211 state getting confused could be due to
      such issues, when cfg80211 is asking mac80211 to change
      state but mac80211 is in the process of telling cfg80211
      that the state changed (in another way.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8d61ffa5
  9. 17 5月, 2013 6 次提交
  10. 22 4月, 2013 1 次提交
  11. 16 4月, 2013 8 次提交
  12. 11 4月, 2013 2 次提交
    • J
      mac80211: fix cfg80211 interaction on auth/assoc request · 7b119dc0
      Johannes Berg 提交于
      If authentication (or association with FT) is requested by
      userspace, mac80211 currently doesn't tell cfg80211 that it
      disconnected from the AP. That leaves inconsistent state:
      cfg80211 thinks it's connected while mac80211 thinks it's
      not. Typically this won't last long, as soon as mac80211
      reports the new association to cfg80211 the old one goes
      away. If, however, the new authentication or association
      doesn't succeed, then cfg80211 will forever think the old
      one still exists and will refuse attempts to authenticate
      or associate with the AP it thinks it's connected to.
      
      Anders reported that this leads to it taking a very long
      time to reconnect to a network, or never even succeeding.
      I tested this with an AP hacked to never respond to auth
      frames, and one that works, and with just those two the
      system never recovers because one won't work and cfg80211
      thinks it's connected to the other so refuses connections
      to it.
      
      To fix this, simply make mac80211 tell cfg80211 when it is
      no longer connected to the old AP, while authenticating or
      associating to a new one.
      
      Cc: stable@vger.kernel.org
      Reported-by: NAnders Kaseorg <andersk@mit.edu>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      7b119dc0
    • J
      mac80211: always advertise STBC/MCSes even if no AP support · a21a4d3e
      Johannes Berg 提交于
      Advertise STBC capabilities and MCS rates even if the AP
      doesn't support them. This has always been the right thing
      to do, but used to be problematic with some APs. Now WFA
      testing requires this so re-enable it, problematic APs
      would then presumably not pass the test and be fixed.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a21a4d3e
  13. 08 4月, 2013 6 次提交
  14. 26 3月, 2013 1 次提交
  15. 25 3月, 2013 1 次提交
  16. 24 3月, 2013 1 次提交
  17. 22 3月, 2013 2 次提交