svn commit: r194432 - head/sys/dev/if_ndis
Coleman Kane
cokane at FreeBSD.org
Thu Jun 18 11:12:11 UTC 2009
Author: cokane
Date: Thu Jun 18 11:12:10 2009
New Revision: 194432
URL: http://svn.freebsd.org/changeset/base/194432
Log:
Replace use of ic->ic_flags with vap->iv_flags to operate on per-vap flags
for ndis 802.11 work.
Submitted by: Paul B. Mahol <onemda at gmail.com>
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 Thu Jun 18 10:39:08 2009 (r194431)
+++ head/sys/dev/if_ndis/if_ndis.c Thu Jun 18 11:12:10 2009 (r194432)
@@ -2277,6 +2277,7 @@ ndis_setstate_80211(sc)
struct ndis_softc *sc;
{
struct ieee80211com *ic;
+ struct ieee80211vap *vap;
ndis_80211_macaddr bssid;
ndis_80211_config config;
int rval = 0, len;
@@ -2285,6 +2286,7 @@ ndis_setstate_80211(sc)
ifp = sc->ifp;
ic = ifp->if_l2com;
+ vap = TAILQ_FIRST(&ic->ic_vaps);
if (!NDIS_INITIALIZED(sc)) {
DPRINTF(("%s: NDIS not initialized\n", __func__));
@@ -2313,7 +2315,7 @@ ndis_setstate_80211(sc)
/* Set power management */
len = sizeof(arg);
- if (ic->ic_flags & IEEE80211_F_PMGTON)
+ if (vap->iv_flags & IEEE80211_F_PMGTON)
arg = NDIS_80211_POWERMODE_FAST_PSP;
else
arg = NDIS_80211_POWERMODE_CAM;
@@ -2737,9 +2739,9 @@ ndis_getstate_80211(sc)
device_printf(sc->ndis_dev,
"get power mode failed: %d\n", rval);
if (arg == NDIS_80211_POWERMODE_CAM)
- ic->ic_flags &= ~IEEE80211_F_PMGTON;
+ vap->iv_flags &= ~IEEE80211_F_PMGTON;
else
- ic->ic_flags |= IEEE80211_F_PMGTON;
+ vap->iv_flags |= IEEE80211_F_PMGTON;
}
/* Get TX power */
@@ -2776,7 +2778,7 @@ ndis_getstate_80211(sc)
device_printf (sc->ndis_dev,
"get authmode status failed: %d\n", rval);
else {
- ic->ic_flags &= ~IEEE80211_F_WPA;
+ vap->iv_flags &= ~IEEE80211_F_WPA;
switch(arg) {
case NDIS_80211_AUTHMODE_OPEN:
ni->ni_authmode = IEEE80211_AUTH_OPEN;
@@ -2791,12 +2793,12 @@ ndis_getstate_80211(sc)
case NDIS_80211_AUTHMODE_WPAPSK:
case NDIS_80211_AUTHMODE_WPANONE:
ni->ni_authmode = IEEE80211_AUTH_WPA;
- ic->ic_flags |= IEEE80211_F_WPA1;
+ vap->iv_flags |= IEEE80211_F_WPA1;
break;
case NDIS_80211_AUTHMODE_WPA2:
case NDIS_80211_AUTHMODE_WPA2PSK:
ni->ni_authmode = IEEE80211_AUTH_WPA;
- ic->ic_flags |= IEEE80211_F_WPA2;
+ vap->iv_flags |= IEEE80211_F_WPA2;
break;
default:
ni->ni_authmode = IEEE80211_AUTH_NONE;
@@ -2812,9 +2814,9 @@ ndis_getstate_80211(sc)
"get wep status failed: %d\n", rval);
if (arg == NDIS_80211_WEPSTAT_ENABLED)
- ic->ic_flags |= IEEE80211_F_PRIVACY|IEEE80211_F_DROPUNENC;
+ vap->iv_flags |= IEEE80211_F_PRIVACY|IEEE80211_F_DROPUNENC;
else
- ic->ic_flags &= ~(IEEE80211_F_PRIVACY|IEEE80211_F_DROPUNENC);
+ vap->iv_flags &= ~(IEEE80211_F_PRIVACY|IEEE80211_F_DROPUNENC);
return;
}
More information about the svn-src-head
mailing list