Author: adrian
Date: Sun Mar 15 21:29:36 2015
New Revision: 280118
URL: https://svnweb.freebsd.org/changeset/base/280118

Log:
  Fix scan timeouts with powersave enabled.
  
  PR:           kern/197143
  Submitted by: Andriy Voskoboinyk <s3er...@gmail.com>

Modified:
  head/sys/dev/wpi/if_wpi.c

Modified: head/sys/dev/wpi/if_wpi.c
==============================================================================
--- head/sys/dev/wpi/if_wpi.c   Sun Mar 15 21:29:20 2015        (r280117)
+++ head/sys/dev/wpi/if_wpi.c   Sun Mar 15 21:29:36 2015        (r280118)
@@ -1658,6 +1658,15 @@ wpi_newstate(struct ieee80211vap *vap, e
                ieee80211_state_name[vap->iv_state],
                ieee80211_state_name[nstate]);
 
+       if (vap->iv_state == IEEE80211_S_RUN && nstate != IEEE80211_S_RUN) {
+               if ((error = wpi_set_pslevel(sc, 0, 0, 1)) != 0) {
+                       device_printf(sc->sc_dev,
+                           "%s: could not set power saving level\n",
+                           __func__);
+                       return error;
+               }
+       }
+
        switch (nstate) {
        case IEEE80211_S_SCAN:
                WPI_RXON_LOCK(sc);
@@ -4326,8 +4335,6 @@ wpi_run(struct wpi_softc *sc, struct iee
        if ((vap->iv_flags & IEEE80211_F_PMGTON) &&
            vap->iv_opmode != IEEE80211_M_IBSS)
                (void)wpi_set_pslevel(sc, 0, 3, 1);
-       else
-               (void)wpi_set_pslevel(sc, 0, 0, 1);
 
        DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__);
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to