Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/ic Add a flag to the softc to prevent recursion in i...
details: https://anonhg.NetBSD.org/src/rev/f3f4a1742269
branches: trunk
changeset: 511698:f3f4a1742269
user: matt <matt%NetBSD.org@localhost>
date: Mon Jun 25 04:46:28 2001 +0000
description:
Add a flag to the softc to prevent recursion in ifstart
diffstat:
sys/dev/ic/pdq_ifsubr.c | 7 +++++--
sys/dev/ic/pdqvar.h | 4 +++-
2 files changed, 8 insertions(+), 3 deletions(-)
diffs (53 lines):
diff -r 5c29a278a907 -r f3f4a1742269 sys/dev/ic/pdq_ifsubr.c
--- a/sys/dev/ic/pdq_ifsubr.c Mon Jun 25 04:43:33 2001 +0000
+++ b/sys/dev/ic/pdq_ifsubr.c Mon Jun 25 04:46:28 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pdq_ifsubr.c,v 1.31 2001/06/13 10:46:03 wiz Exp $ */
+/* $NetBSD: pdq_ifsubr.c,v 1.32 2001/06/25 04:46:28 matt Exp $ */
/*-
* Copyright (c) 1995, 1996 Matt Thomas <matt%3am-software.com@localhost>
@@ -187,6 +187,7 @@
sc->sc_if.if_flags |= IFF_OACTIVE;
return;
}
+ sc->sc_flags |= PDQIF_DOWNCALL;
for (;; tx = 1) {
IFQ_POLL(&ifp->if_snd, m);
if (m == NULL)
@@ -227,6 +228,7 @@
ifp->if_flags |= IFF_OACTIVE;
if (tx)
PDQ_DO_TYPE2_PRODUCER(sc->sc_pdq);
+ sc->sc_flags &= ~PDQIF_DOWNCALL;
}
void
@@ -281,7 +283,8 @@
sc->sc_if.if_flags &= ~IFF_OACTIVE;
if (IFQ_IS_EMPTY(&sc->sc_if.if_snd) == 0) {
sc->sc_if.if_timer = PDQ_OS_TX_TIMEOUT;
- pdq_ifstart(&sc->sc_if);
+ if ((sc->sc_flags & PDQIF_DOWNCALL) != 0)
+ pdq_ifstart(&sc->sc_if);
} else {
sc->sc_if.if_timer = 0;
}
diff -r 5c29a278a907 -r f3f4a1742269 sys/dev/ic/pdqvar.h
--- a/sys/dev/ic/pdqvar.h Mon Jun 25 04:43:33 2001 +0000
+++ b/sys/dev/ic/pdqvar.h Mon Jun 25 04:46:28 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pdqvar.h,v 1.31 2001/06/13 10:46:03 wiz Exp $ */
+/* $NetBSD: pdqvar.h,v 1.32 2001/06/25 04:46:28 matt Exp $ */
/*-
* Copyright (c) 1995, 1996 Matt Thomas <matt%3am-software.com@localhost>
@@ -316,6 +316,8 @@
#if defined(IFM_FDDI)
struct ifmedia sc_ifmedia;
#endif
+ int sc_flags;
+#define PDQIF_DOWNCALL 0x0001 /* active calling from if to pdq */
pdq_t *sc_pdq;
#if defined(__alpha__) || defined(__i386__)
pdq_bus_ioport_t sc_iobase;
Home |
Main Index |
Thread Index |
Old Index