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