PERFORCE change 87503 for review

Sam Leffler sam at FreeBSD.org
Wed Nov 30 05:18:30 GMT 2005


http://perforce.freebsd.org/chv.cgi?CH=87503

Change 87503 by sam at 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;
 		}
 		/*


More information about the p4-projects mailing list