PERFORCE change 81453 for review

Sam Leffler sam at FreeBSD.org
Thu Aug 4 16:17:58 GMT 2005


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

Change 81453 by sam at sam_ebb on 2005/08/04 16:16:55

	o enable dynamic turbo use
	o pass beacon miss to net80211 layer
	o track ath protocol handling changes

Affected files ...

.. //depot/projects/wifi/sys/dev/ath/if_ath.c#98 edit

Differences ...

==== //depot/projects/wifi/sys/dev/ath/if_ath.c#98 (text+ko) ====

@@ -547,10 +547,8 @@
 		ic->ic_caps |= IEEE80211_C_BURST;
 	if (ath_hal_hasfastframes(ah))
 		ic->ic_caps |= IEEE80211_C_FF;
-#ifdef notyet
-	if (ath_hal_getwirelessmodes(ah) & (HAL_MODE_108G|HAL_MODE_TURBO))
+	if (ath_hal_getwirelessmodes(ah, ath_countrycode) & (HAL_MODE_108G|HAL_MODE_TURBO))
 		ic->ic_caps |= IEEE80211_C_TURBOP;
-#endif
 
 	/*
 	 * Indicate we need the 802.11 header padded to a
@@ -815,22 +813,10 @@
 ath_bmiss_proc(void *arg, int pending)
 {
 	struct ath_softc *sc = arg;
-	struct ieee80211com *ic = &sc->sc_ic;
 
 	DPRINTF(sc, ATH_DEBUG_ANY, "%s: pending %u\n", __func__, pending);
-	KASSERT(ic->ic_opmode == IEEE80211_M_STA,
-		("unexpect operating mode %u", ic->ic_opmode));
-	if (ic->ic_state == IEEE80211_S_RUN) {
-		/*
-		 * Rather than go directly to scan state, try to
-		 * reassociate first.  If that fails then the state
-		 * machine will drop us into scanning after timing
-		 * out waiting for a probe response.
-		 */
-		NET_LOCK_GIANT();
-		ieee80211_new_state(ic, IEEE80211_S_ASSOC, -1);
-		NET_UNLOCK_GIANT();
-	}
+
+	ieee80211_beacon_miss(&sc->sc_ic);
 }
 
 static u_int
@@ -1530,7 +1516,7 @@
 			}
 			pri = M_WME_GETAC(m);
 			txq = sc->sc_ac2q[pri];
-			if (ni->ni_flags & IEEE80211_NODE_FF) {
+			if (ni->ni_ath_flags & IEEE80211_NODE_FF) {
 				/*
 				 * Check queue length; if too deep drop this
 				 * frame (tail drop considered good).
@@ -3884,7 +3870,7 @@
 		flags |= HAL_TXDESC_NOACK;	/* no ack on broad/multicast */
 		sc->sc_stats.ast_tx_noack++;
 	} else if (pktlen > ic->ic_rtsthreshold &&
-	    (ni->ni_flags & IEEE80211_NODE_FF) == 0) {
+	    (ni->ni_ath_flags & IEEE80211_NODE_FF) == 0) {
 		flags |= HAL_TXDESC_RTSENA;	/* RTS based on frame length */
 		cix = rt->info[rix].controlRate;
 		sc->sc_stats.ast_tx_rts++;


More information about the p4-projects mailing list