1. 12 Apr, 2013 1 commit
  2. 10 Apr, 2013 2 commits
    • Johannes Berg's avatar
      mac80211: fix cfg80211 interaction on auth/assoc request · 7b119dc0
      Johannes Berg authored
      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: default avatarAnders Kaseorg <andersk@mit.edu>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      7b119dc0
    • Rafał Miłecki's avatar
      ssb: implement spurious tone avoidance · 46fc4c90
      Rafał Miłecki authored
      And make use of it in b43. This fixes a regression introduced with
      49d55cef
      b43: N-PHY: implement spurious tone avoidance
      This commit made BCM4322 use only MCS 0 on channel 13, which of course
      resulted in performance drop (down to 0.7Mb/s).
      Reported-by: default avatarStefan Brüns <stefan.bruens@rwth-aachen.de>
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      46fc4c90
  3. 08 Apr, 2013 6 commits
  4. 03 Apr, 2013 9 commits
  5. 01 Apr, 2013 4 commits
  6. 31 Mar, 2013 1 commit
  7. 30 Mar, 2013 1 commit
    • Artem Savkov's avatar
      cfg80211: sched_scan_mtx lock in cfg80211_conn_work() · 90e0970f
      Artem Savkov authored
      Introduced in f9f47529
      ("cfg80211: always check for scan end on P2P device")
      
      cfg80211_conn_scan() which requires sched_scan_mtx to be held can be called
      from cfg80211_conn_work(). Without this we are hitting multiple warnings like
      the following:
      
      WARNING: at net/wireless/sme.c:88 cfg80211_conn_scan+0x1dc/0x3a0 [cfg80211]()
      Hardware name: 0578A21
      Modules linked in: ...
      Pid: 620, comm: kworker/3:1 Not tainted 3.9.0-rc4-next-20130328+ #326
      Call Trace:
       [<c1036992>] warn_slowpath_common+0x72/0xa0
       [<c10369e2>] warn_slowpath_null+0x22/0x30
       [<faa4b0ec>] cfg80211_conn_scan+0x1dc/0x3a0 [cfg80211]
       [<faa4b344>] cfg80211_conn_do_work+0x94/0x380 [cfg80211]
       [<faa4c3b2>] cfg80211_conn_work+0xa2/0x130 [cfg80211]
       [<c1051858>] process_one_work+0x198/0x450
      Signed-off-by: default avatarArtem Savkov <artem.savkov@gmail.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      90e0970f
  8. 28 Mar, 2013 1 commit
    • Johannes Berg's avatar
      iwlwifi: dvm: fix the passive-no-RX workaround · b8730b40
      Johannes Berg authored
      Alex Romosan reported that since the mac80211 changes in
      "mac80211: start auth/assoc timeout on frame status" and
      the subsequent fixes in "mac80211: fix auth/assoc timeout
      handling" (commits 1672c0e3 and 89afe614) there's
      sometimes an issue connecting to a 5 GHz network with the
      iwlwifi DVM driver.
      
      The reason appears to be that since these commits any bad
      TX status makes mac80211 immediately try again, causing
      all of the authentication attempts to be quickly rejected
      by the firmware as it hasn't heard a beacon yet. Before,
      it would wait for the timeout regardless of status.
      
      To fix this, invoke the passive-no-RX workaround when not
      associated yet as well. This will cause the first frame
      to get lost, but then the driver will stop the queues and
      the second attempt will only be transmitted after hearing
      a beacon, thus delaying it appropriately to not make the
      firmware reject it again.
      Reported-by: default avatarAlex Romosan <romosan@sycorax.lbl.gov>
      Tested-by: default avatarAlex Romosan <romosan@sycorax.lbl.gov>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      b8730b40
  9. 27 Mar, 2013 8 commits
  10. 26 Mar, 2013 1 commit
  11. 25 Mar, 2013 4 commits
  12. 24 Mar, 2013 2 commits
    • Ben Greear's avatar
      mac80211: Don't restart sta-timer if not associated. · 370bd005
      Ben Greear authored
      I found another crash when deleting lots of virtual stations
      in a congested environment.  I think the problem is that
      the ieee80211_mlme_notify_scan_completed could call
      ieee80211_restart_sta_timer for a stopped interface
      that was about to be deleted.
      
      With the following patch I am unable to reproduce the
      crash.
      Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
      [move check, also make the same change in mesh]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      370bd005
    • Johannes Berg's avatar
      cfg80211: always check for scan end on P2P device · f9f47529
      Johannes Berg authored
      If a P2P device wdev is removed while it has a scan, then the
      scan completion might crash later as it is already freed by
      that time. To avoid the crash always check the scan completion
      when the P2P device is being removed for some reason. If the
      driver already canceled it, don't want and free it, otherwise
      warn and leak it to avoid later crashes.
      
      In order to do this, locking needs to be changed away from the
      rdev mutex (which can't always be guaranteed). For now, use
      the sched_scan_mtx instead, I'll rename it to just scan_mtx in
      a later patch.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      f9f47529