Module Name: src
Committed By: thorpej
Date: Sat Sep 17 19:03:31 UTC 2022
Modified Files:
src/sys/arch/amiga/dev: if_es.c
Log Message:
Eliminate use of IFF_OACTIVE.
To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/amiga/dev/if_es.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/amiga/dev/if_es.c
diff -u src/sys/arch/amiga/dev/if_es.c:1.67 src/sys/arch/amiga/dev/if_es.c:1.68
--- src/sys/arch/amiga/dev/if_es.c:1.67 Sat Aug 20 16:47:01 2022
+++ src/sys/arch/amiga/dev/if_es.c Sat Sep 17 19:03:31 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: if_es.c,v 1.67 2022/08/20 16:47:01 thorpej Exp $ */
+/* $NetBSD: if_es.c,v 1.68 2022/09/17 19:03:31 thorpej Exp $ */
/*
* Copyright (c) 1995 Michael L. Hitch
@@ -33,7 +33,7 @@
#include "opt_ns.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_es.c,v 1.67 2022/08/20 16:47:01 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_es.c,v 1.68 2022/09/17 19:03:31 thorpej Exp $");
#include <sys/param.h>
@@ -86,6 +86,7 @@ struct es_softc {
void *sc_base; /* base address of board */
short sc_iflags;
unsigned short sc_intctl;
+ bool sc_txbusy;
#ifdef ESDEBUG
int sc_debug;
short sc_intbusy; /* counter for interrupt rentered */
@@ -289,7 +290,7 @@ esinit(struct es_softc *sc)
/* Interface is now 'running', with no output active. */
ifp->if_flags |= IFF_RUNNING;
- ifp->if_flags &= ~IFF_OACTIVE;
+ sc->sc_txbusy = false;
/* Attempt to start output, if any. */
if_schedule_deferred_start(ifp);
@@ -359,7 +360,7 @@ esintr(void *arg)
while (smc->b2.mmucr & MMUCR_BUSY)
;
smc->b2.pnr = save_pnr;
- ifp->if_flags &= ~IFF_OACTIVE;
+ sc->sc_txbusy = false;
ifp->if_timer = 0;
}
#ifdef ESDEBUG
@@ -757,8 +758,7 @@ esstart(struct ifnet *ifp)
int i;
u_char active_pnr;
- if ((sc->sc_ethercom.ec_if.if_flags & (IFF_RUNNING | IFF_OACTIVE)) !=
- IFF_RUNNING)
+ if ((sc->sc_ethercom.ec_if.if_flags & IFF_RUNNING) == 0)
return;
#ifdef ESDEBUG
@@ -772,7 +772,7 @@ esstart(struct ifnet *ifp)
smc->b2.bsr = BSR_BANK2;
}
#endif
- for (;;) {
+ while (!sc->sc_txbusy) {
#ifdef ESDEBUG
u_short start_ptr, end_ptr;
#endif
@@ -801,7 +801,7 @@ esstart(struct ifnet *ifp)
if ((smc->b2.arr & ARR_FAILED) == 0)
break;
if (smc->b2.arr & ARR_FAILED) {
- sc->sc_ethercom.ec_if.if_flags |= IFF_OACTIVE;
+ sc->sc_txbusy = true;
sc->sc_intctl |= MSK_ALLOC;
sc->sc_ethercom.ec_if.if_timer = 5;
break;