diff options
author | sam <sam@FreeBSD.org> | 2004-12-10 00:59:27 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2004-12-10 00:59:27 +0000 |
commit | c0d8c464780b016518ec53abe9c849ed325a1e7a (patch) | |
tree | 91bf2013bd7a0ae0f0dcab3aff15e2b09d9c3d90 /sys/dev | |
parent | b73c74d91c91ce5aff0424e2348d965224775a33 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/if_ndis/if_ndis.c | 16 |
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; |