diff options
author | rwatson <rwatson@FreeBSD.org> | 2005-08-09 10:20:02 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2005-08-09 10:20:02 +0000 |
commit | 5d770a09e85126b8b3e9fe302c36350a90210cbe (patch) | |
tree | bb70e59641e2310a3c26ec449af5ab0cb7420d9d /sys/dev/cm | |
parent | 74759aaa78777146f23aa05c856f574efdfb41d9 (diff) | |
download | FreeBSD-src-5d770a09e85126b8b3e9fe302c36350a90210cbe.zip FreeBSD-src-5d770a09e85126b8b3e9fe302c36350a90210cbe.tar.gz |
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
ifnet.if_drv_flags. Device drivers are now responsible for
synchronizing access to these flags, as they are in if_drv_flags. This
helps prevent races between the network stack and device driver in
maintaining the interface flags field.
Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
some less so.
Reviewed by: pjd, bz
MFC after: 7 days
Diffstat (limited to 'sys/dev/cm')
-rw-r--r-- | sys/dev/cm/if_cm_isa.c | 2 | ||||
-rw-r--r-- | sys/dev/cm/smc90cx6.c | 24 |
2 files changed, 13 insertions, 13 deletions
diff --git a/sys/dev/cm/if_cm_isa.c b/sys/dev/cm/if_cm_isa.c index 027d139..1baa687 100644 --- a/sys/dev/cm/if_cm_isa.c +++ b/sys/dev/cm/if_cm_isa.c @@ -107,7 +107,7 @@ cm_isa_detach(device_t dev) int s; cm_stop(sc); - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; s = splimp(); arc_ifdetach(ifp); diff --git a/sys/dev/cm/smc90cx6.c b/sys/dev/cm/smc90cx6.c index b2316b0..e618292 100644 --- a/sys/dev/cm/smc90cx6.c +++ b/sys/dev/cm/smc90cx6.c @@ -131,7 +131,7 @@ devclass_t cm_devclass; * else fill tx_act ^ 1 && inc tx_fillcount * * check tx_fillcount again. - * case 2: set IFF_OACTIVE to stop arc_output from filling us. + * case 2: set IFF_DRV_OACTIVE to stop arc_output from filling us. * case 1: start tx * * tint clears IFF_OCATIVE, decrements and checks tx_fillcount @@ -360,9 +360,9 @@ cm_init(xsc) ifp = sc->sc_ifp; - if ((ifp->if_flags & IFF_RUNNING) == 0) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { s = splimp(); - ifp->if_flags |= IFF_RUNNING; + ifp->if_drv_flags |= IFF_DRV_RUNNING; cm_reset(sc); cm_start(ifp); splx(s); @@ -441,8 +441,8 @@ cm_reset(sc) sc->sc_tx_act = 0; sc->sc_tx_fillcount = 0; - ifp->if_flags |= IFF_RUNNING; - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; cm_start(ifp); } @@ -490,7 +490,7 @@ cm_start(ifp) if_printf(ifp, "start(%p)\n", ifp); #endif - if ((ifp->if_flags & IFF_RUNNING) == 0) + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; s = splimp(); @@ -577,7 +577,7 @@ cm_start(ifp) * We are filled up to the rim. No more bufs for the moment, * please. */ - ifp->if_flags |= IFF_OACTIVE; + ifp->if_drv_flags |= IFF_DRV_OACTIVE; } else { #ifdef CM_DEBUG if_printf(ifp, "start: starting transmitter on buffer %d\n", @@ -588,7 +588,7 @@ cm_start(ifp) /* * We still can accept another buf, so don't: - * ifp->if_flags |= IFF_OACTIVE; + * ifp->if_drv_flags |= IFF_DRV_OACTIVE; */ sc->sc_intmask |= CM_TA; PUTREG(CMCMD, CM_TX(buffer)); @@ -763,7 +763,7 @@ cm_tint(sc, isr) /* We know we can accept another buffer at this point. */ - ifp->if_flags &= ~IFF_OACTIVE; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; if (--sc->sc_tx_fillcount > 0) { @@ -1004,15 +1004,15 @@ cm_ioctl(ifp, command, data) case SIOCSIFFLAGS: if ((ifp->if_flags & IFF_UP) == 0 && - (ifp->if_flags & IFF_RUNNING) != 0) { + (ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { /* * If interface is marked down and it is running, * then stop it. */ cm_stop(sc); - ifp->if_flags &= ~IFF_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } else if ((ifp->if_flags & IFF_UP) != 0 && - (ifp->if_flags & IFF_RUNNING) == 0) { + (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { /* * If interface is marked up and it is stopped, then * start it. |