Module Name:    src
Committed By:   jmcneill
Date:           Fri Aug  8 10:17:07 UTC 2014

Modified Files:
        src/sys/dev/pci: if_wpi.c

Log Message:
wpi_fix_channel hack no longer needed with recent scanning changes


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/dev/pci/if_wpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/if_wpi.c
diff -u src/sys/dev/pci/if_wpi.c:1.67 src/sys/dev/pci/if_wpi.c:1.68
--- src/sys/dev/pci/if_wpi.c:1.67	Thu Aug  7 22:10:05 2014
+++ src/sys/dev/pci/if_wpi.c	Fri Aug  8 10:17:07 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_wpi.c,v 1.67 2014/08/07 22:10:05 jmcneill Exp $	*/
+/*	$NetBSD: if_wpi.c,v 1.68 2014/08/08 10:17:07 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wpi.c,v 1.67 2014/08/07 22:10:05 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wpi.c,v 1.68 2014/08/08 10:17:07 jmcneill Exp $");
 
 /*
  * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters.
@@ -102,7 +102,6 @@ static struct	ieee80211_node * wpi_node_
 static void	wpi_newassoc(struct ieee80211_node *, int);
 static int	wpi_media_change(struct ifnet *);
 static int	wpi_newstate(struct ieee80211com *, enum ieee80211_state, int);
-static void	wpi_fix_channel(struct ieee80211com *, struct mbuf *);
 static void	wpi_mem_lock(struct wpi_softc *);
 static void	wpi_mem_unlock(struct wpi_softc *);
 static uint32_t	wpi_mem_read(struct wpi_softc *, uint16_t);
@@ -987,44 +986,6 @@ wpi_newstate(struct ieee80211com *ic, en
 }
 
 /*
- * XXX: Hack to set the current channel to the value advertised in beacons or
- * probe responses. Only used during AP detection.
- * XXX: Duplicated from if_iwi.c
- */
-static void
-wpi_fix_channel(struct ieee80211com *ic, struct mbuf *m)
-{
-	struct ieee80211_frame *wh;
-	uint8_t subtype;
-	uint8_t *frm, *efrm;
-
-	wh = mtod(m, struct ieee80211_frame *);
-
-	if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) != IEEE80211_FC0_TYPE_MGT)
-		return;
-
-	subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
-
-	if (subtype != IEEE80211_FC0_SUBTYPE_BEACON &&
-	    subtype != IEEE80211_FC0_SUBTYPE_PROBE_RESP)
-		return;
-
-	frm = (uint8_t *)(wh + 1);
-	efrm = mtod(m, uint8_t *) + m->m_len;
-
-	frm += 12;	/* skip tstamp, bintval and capinfo fields */
-	while (frm < efrm) {
-		if (*frm == IEEE80211_ELEMID_DSPARMS)
-#if IEEE80211_CHAN_MAX < 255
-		if (frm[2] <= IEEE80211_CHAN_MAX)
-#endif
-			ic->ic_curchan = &ic->ic_channels[frm[2]];
-
-		frm += frm[1] + 2;
-	}
-}
-
-/*
  * Grab exclusive access to NIC memory.
  */
 static void
@@ -1554,9 +1515,6 @@ wpi_rx_intr(struct wpi_softc *sc, struct
 	/* finalize mbuf */
 	m->m_pkthdr.rcvif = ifp;
 
-	if (ic->ic_state == IEEE80211_S_SCAN)
-		wpi_fix_channel(ic, m);
-
 	if (sc->sc_drvbpf != NULL) {
 		struct wpi_rx_radiotap_header *tap = &sc->sc_rxtap;
 

Reply via email to