Module Name:    src
Committed By:   thorpej
Date:           Sat Sep 17 17:15:02 UTC 2022

Modified Files:
        src/sys/dev/isa: if_el.c

Log Message:
Eliminate use of IFF_OACTIVE.


To generate a diff of this commit:
cvs rdiff -u -r1.101 -r1.102 src/sys/dev/isa/if_el.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/dev/isa/if_el.c
diff -u src/sys/dev/isa/if_el.c:1.101 src/sys/dev/isa/if_el.c:1.102
--- src/sys/dev/isa/if_el.c:1.101	Sat Sep 17 17:08:43 2022
+++ src/sys/dev/isa/if_el.c	Sat Sep 17 17:15:02 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_el.c,v 1.101 2022/09/17 17:08:43 thorpej Exp $	*/
+/*	$NetBSD: if_el.c,v 1.102 2022/09/17 17:15:02 thorpej Exp $	*/
 
 /*
  * Copyright (c) 1994, Matthew E. Kimmel.  Permission is hereby granted
@@ -19,7 +19,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_el.c,v 1.101 2022/09/17 17:08:43 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_el.c,v 1.102 2022/09/17 17:15:02 thorpej Exp $");
 
 #include "opt_inet.h"
 
@@ -72,6 +72,7 @@ struct el_softc {
 	struct ethercom sc_ethercom;	/* ethernet common */
 	bus_space_tag_t sc_iot;		/* bus space identifier */
 	bus_space_handle_t sc_ioh;	/* i/o handle */
+	bool sc_txbusy;			/* transmitter is busy */
 
 	krndsource_t rnd_source;
 };
@@ -337,7 +338,7 @@ elinit(struct el_softc *sc)
 
 	/* Set flags appropriately. */
 	ifp->if_flags |= IFF_RUNNING;
-	ifp->if_flags &= ~IFF_OACTIVE;
+	sc->sc_txbusy = false;
 
 	/* And start output. */
 	elstart(ifp);
@@ -361,12 +362,12 @@ elstart(struct ifnet *ifp)
 	s = splnet();
 
 	/* Don't do anything if output is active. */
-	if ((ifp->if_flags & IFF_OACTIVE) != 0) {
+	if (sc->sc_txbusy) {
 		splx(s);
 		return;
 	}
 
-	ifp->if_flags |= IFF_OACTIVE;
+	sc->sc_txbusy = true;
 
 	/*
 	 * The main loop.  They warned me against endless loops, but would I
@@ -448,13 +449,13 @@ elstart(struct ifnet *ifp)
 		(void)bus_space_read_1(iot, ioh, EL_AS);
 		bus_space_write_1(iot, ioh, EL_AC, EL_AC_IRQE | EL_AC_RX);
 		splx(s);
-		/* Interrupt here. */
+		/* (Maybe) interrupt here. */
 		s = splnet();
 	}
 
 	(void)bus_space_read_1(iot, ioh, EL_AS);
 	bus_space_write_1(iot, ioh, EL_AC, EL_AC_IRQE | EL_AC_RX);
-	ifp->if_flags &= ~IFF_OACTIVE;
+	sc->sc_txbusy = false;
 	splx(s);
 }
 

Reply via email to