Module Name: src Committed By: thorpej Date: Sat Sep 17 19:49:09 UTC 2022
Modified Files: src/sys/arch/arm/gemini: if_gpn.c Log Message: Eliminate use of IFF_OACTIVE. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/gemini/if_gpn.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/gemini/if_gpn.c diff -u src/sys/arch/arm/gemini/if_gpn.c:1.15 src/sys/arch/arm/gemini/if_gpn.c:1.16 --- src/sys/arch/arm/gemini/if_gpn.c:1.15 Sat Aug 20 18:36:16 2022 +++ src/sys/arch/arm/gemini/if_gpn.c Sat Sep 17 19:49:09 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: if_gpn.c,v 1.15 2022/08/20 18:36:16 thorpej Exp $ */ +/* $NetBSD: if_gpn.c,v 1.16 2022/09/17 19:49:09 thorpej Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,7 +32,7 @@ #include "opt_gemini.h" -__KERNEL_RCSID(0, "$NetBSD: if_gpn.c,v 1.15 2022/08/20 18:36:16 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_gpn.c,v 1.16 2022/09/17 19:49:09 thorpej Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -106,6 +106,7 @@ struct gpn_softc { #define sc_if sc_ec.ec_if size_t sc_free; size_t sc_txactive; + bool sc_txbusy; void *sc_ih; ipm_gpn_ack_desc_t sc_ack_desc; struct mbuf *sc_rxmbuf; @@ -327,8 +328,8 @@ gpn_free_txid(struct gpn_softc *sc, size ti->ti_mbuf = NULL; sc->sc_txactive--; KASSERT(sc->sc_txactive < MAX_TXACTIVE); - if (sc->sc_if.if_flags & IFF_OACTIVE) { - sc->sc_if.if_flags &= ~IFF_OACTIVE; + if (sc->sc_txbusy) { + sc->sc_txbusy = false; gpn_ifstart(&sc->sc_if); } } @@ -342,7 +343,7 @@ gpn_ipm_rebate(void *arg, size_t count) s = splnet(); sc->sc_free += count; - sc->sc_if.if_flags &= ~IFF_OACTIVE; + sc->sc_txbusy = false; gpn_ifstart(&sc->sc_if); splx(s); } @@ -359,7 +360,7 @@ gpn_ifstart(struct ifnet *ifp) size_t count; if (sc->sc_free == 0) { - ifp->if_flags |= IFF_OACTIVE; + sc->sc_txbusy = true; break; } @@ -396,7 +397,7 @@ gpn_ifstart(struct ifnet *ifp) */ if (sc->sc_free < count || sc->sc_txactive + count > MAX_TXACTIVE) { - ifp->if_flags |= IFF_OACTIVE; + sc->sc_txbusy = true; return; } IF_DEQUEUE(&ifp->if_snd, m);