svn commit: r200524 - head/sys/dev/if_ndis

Rui Paulo rpaulo at FreeBSD.org
Mon Dec 14 10:43:27 PST 2009


Author: rpaulo
Date: Mon Dec 14 18:43:27 2009
New Revision: 200524
URL: http://svn.freebsd.org/changeset/base/200524

Log:
  Pass all IEs to net80211.
  
  PR:		141376
  Submitted by:	Paul <onemda at gmail.com>
  MFC after:	1 week

Modified:
  head/sys/dev/if_ndis/if_ndis.c

Modified: head/sys/dev/if_ndis/if_ndis.c
==============================================================================
--- head/sys/dev/if_ndis/if_ndis.c	Mon Dec 14 18:43:18 2009	(r200523)
+++ head/sys/dev/if_ndis/if_ndis.c	Mon Dec 14 18:43:27 2009	(r200524)
@@ -3299,24 +3299,11 @@ ndis_scan_results(struct ndis_softc *sc)
 			efrm = frm + wb->nwbx_ielen;
 			if (efrm - frm < 12)
 				goto done;
-			sp.tstamp = frm;
-			frm += 8;
-			sp.bintval = le16toh(*(uint16_t *)frm);
-			frm += 2;
-			sp.capinfo = le16toh(*(uint16_t *)frm);
-			frm += 2;
-
-			/* Grab variable length ies */
-			while (efrm - frm > 1) {
-				if (efrm - frm < frm[1] + 2)
-					break;
-				switch (*frm) {
-				case IEEE80211_ELEMID_RSN:
-					sp.rsn = frm;
-					break;
-				}
-				frm += frm[1] + 2;
-			}
+			sp.tstamp = frm;			frm += 8;
+			sp.bintval = le16toh(*(uint16_t *)frm);	frm += 2;
+			sp.capinfo = le16toh(*(uint16_t *)frm);	frm += 2;
+			sp.ies = frm;
+			sp.ies_len = efrm - frm;
 		}
 done:
 		DPRINTF(("scan: bssid %s chan %dMHz (%d/%d) rssi %d\n",


More information about the svn-src-all mailing list