Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Mar 2008 16:52:03 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 137925 for review
Message-ID:  <200803171652.m2HGq3xa019136@repoman.freebsd.org>

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

Change 137925 by sam@sam_ebb on 2008/03/17 16:51:16

	enable beacon rx when on 11g channels so we can detect overlapping bss 

Affected files ...

.. //depot/projects/vap/sys/dev/ath/if_ath.c#46 edit

Differences ...

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

@@ -2463,9 +2463,12 @@
  *     node table entries for peers,
  *   - when scanning
  *   - when doing s/w beacon miss (e.g. for ap+sta)
+ *   - when operatin in ap mode in 11g to detect overlapping bss that
+ *     require protection
  * o accept control frames:
  *   - when in monitor mode
  * XXX BAR frames for 11n
+ * XXX HT protection for 11n
  */
 static u_int32_t
 ath_calcrxfilter(struct ath_softc *sc)
@@ -2493,6 +2496,14 @@
 	    sc->sc_opmode == HAL_M_IBSS ||
 	    sc->sc_swbmiss || sc->sc_scanning)
 		rfilt |= HAL_RX_FILTER_BEACON;
+	/*
+	 * NB: We don't recalculate the rx filter when
+	 * ic_protmode changes; otherwise we could do
+	 * this only when ic_protmode != NONE.
+	 */
+	if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
+	    IEEE80211_IS_CHAN_ANYG(ic->ic_curchan))
+		rfilt |= HAL_RX_FILTER_BEACON;
 	if (ic->ic_opmode == IEEE80211_M_MONITOR)
 		rfilt |= HAL_RX_FILTER_CONTROL;
 	return rfilt;



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