Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Nov 2005 05:18:13 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 87503 for review
Message-ID:  <200511300518.jAU5IDH2094066@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=87503

Change 87503 by sam@sam_ebb on 2005/11/30 05:17:59

	save power save fixes

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_input.c#71 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#71 (text+ko) ====

@@ -2147,8 +2147,14 @@
 				int max = tim->tim_len + min - 4;
 				if ((tim->tim_bitctl&1) ||
 				    (min <= ix && ix <= max &&
-				     isset(tim->tim_bitmap - min, aid)))
+				     isset(tim->tim_bitmap - min, aid))) {
+					/* 
+					 * XXX Do not let bg scan kick off
+					 * we are expecting data.
+					 */
+					ic->ic_lastdata = ticks;
 					ieee80211_sta_pwrsave(ic, 0);
+				}
 #endif
 				ni->ni_dtim_count = tim->tim_count;
 				ni->ni_dtim_period = tim->tim_period;
@@ -2167,11 +2173,18 @@
 			 * return on-channel to receive a beacon from
 			 * our ap.
 			 */
-			if (ic->ic_flags & IEEE80211_F_SCAN)
+			if (ic->ic_flags & IEEE80211_F_SCAN) {
 				ieee80211_add_scan(ic, &scan, wh,
 					subtype, rssi, noise, rstamp);
-			else if (contbgscan(ic) || startbgscan(ic))
+			} else if (contbgscan(ic)) {
+				ieee80211_bg_scan(ic);
+			} else if (startbgscan(ic)) {
+#if 0
+				/* wakeup if we are sleeing */
+				ieee80211_set_pwrsave(ic, 0);
+#endif
 				ieee80211_bg_scan(ic);
+			}
 			return;
 		}
 		/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511300518.jAU5IDH2094066>