summaryrefslogtreecommitdiffstats
path: root/sys/dev/if_ndis
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2004-12-10 00:59:27 +0000
committersam <sam@FreeBSD.org>2004-12-10 00:59:27 +0000
commitc0d8c464780b016518ec53abe9c849ed325a1e7a (patch)
tree91bf2013bd7a0ae0f0dcab3aff15e2b09d9c3d90 /sys/dev/if_ndis
parentb73c74d91c91ce5aff0424e2348d965224775a33 (diff)
downloadFreeBSD-src-c0d8c464780b016518ec53abe9c849ed325a1e7a.zip
FreeBSD-src-c0d8c464780b016518ec53abe9c849ed325a1e7a.tar.gz
Fix compilation and correct mapping from struct ifnet to
struct ieee80211com after net80211 import. Submitted by: Tor Egge
Diffstat (limited to 'sys/dev/if_ndis')
-rw-r--r--sys/dev/if_ndis/if_ndis.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index af9a54f..94edc84 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -502,7 +502,7 @@ ndis_attach(dev)
/* Do media setup */
if (sc->ndis_80211) {
- struct ieee80211com *ic = (void *)ifp;
+ struct ieee80211com *ic = (void *)&sc->ic;
ndis_80211_rates_ex rates;
struct ndis_80211_nettype_list *ntl;
uint32_t arg;
@@ -765,7 +765,7 @@ ndis_detach(dev)
if (!sc->ndis_80211)
ifmedia_removeall(&sc->ifmedia);
- ndis_unload_driver((void *)ifp);
+ ndis_unload_driver(sc);
if (sc->ndis_iftype == PCIBus)
bus_dma_tag_destroy(sc->ndis_parent_tag);
@@ -849,7 +849,7 @@ ndis_rxeof(adapter, packets, pktcnt)
int i;
block = (ndis_miniport_block *)adapter;
- sc = (struct ndis_softc *)(block->nmb_ifp);
+ sc = (struct ndis_softc *)(block->nmb_ifp->if_softc);
ifp = block->nmb_ifp;
for (i = 0; i < pktcnt; i++) {
@@ -927,7 +927,7 @@ ndis_txeof(adapter, packet, status)
struct mbuf *m;
block = (ndis_miniport_block *)adapter;
- sc = (struct ndis_softc *)block->nmb_ifp;
+ sc = (struct ndis_softc *)block->nmb_ifp->if_softc;
ifp = block->nmb_ifp;
m = packet->np_m0;
@@ -1051,7 +1051,7 @@ ndis_intr(arg)
mtx_unlock(&sc->ndis_intrmtx);
if ((is_our_intr || call_isr))
- ndis_sched(ndis_intrtask, ifp, NDIS_SWI);
+ ndis_sched(ndis_intrtask, ifp->if_softc, NDIS_SWI);
return;
}
@@ -1538,11 +1538,13 @@ ndis_setstate_80211(sc)
device_printf(sc->ndis_dev,
"enable WEP failed: %d\n", rval);
#ifndef IEEE80211_F_WEPON
+#if 0
if (ic->ic_wep_mode != IEEE80211_WEP_8021X &&
ic->ic_wep_mode != IEEE80211_WEP_ON)
arg = NDIS_80211_PRIVFILT_ACCEPTALL;
else
#endif
+#endif
arg = NDIS_80211_PRIVFILT_8021XWEP;
len = sizeof(arg);
rval = ndis_set_info(sc, OID_802_11_PRIVACY_FILTER, &arg, &len);
@@ -1663,7 +1665,7 @@ ndis_setstate_80211(sc)
static void
ndis_media_status(struct ifnet *ifp, struct ifmediareq *imr)
{
- struct ieee80211com *ic = (void *)ifp;
+ struct ieee80211com *ic = &((struct ndis_softc *)ifp->if_softc)->ic;
struct ieee80211_node *ni = NULL;
imr->ifm_status = IFM_AVALID;
@@ -1705,7 +1707,7 @@ ndis_media_status(struct ifnet *ifp, struct ifmediareq *imr)
case IEEE80211_MODE_11G:
imr->ifm_active |= IFM_MAKEMODE(IFM_IEEE80211_11G);
break;
- case IEEE80211_MODE_TURBO:
+ case IEEE80211_MODE_TURBO_A:
imr->ifm_active |= IFM_MAKEMODE(IFM_IEEE80211_11A)
| IFM_IEEE80211_TURBO;
break;
OpenPOWER on IntegriCloud