From ad3eed8ce3fc93c76d837cdf65cf9ae61ae148d6 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 27 Dec 1996 02:01:02 +0000 Subject: [PATCH] Fixed PPP soft interrupts. Make sure soft interrupts are only every delivered when the interrupt depth is 1. --- sys/arch/arm32/arm32/irqhandler.c | 7 +++++-- sys/arch/arm32/iomd/iomd_irqhandler.c | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/arch/arm32/arm32/irqhandler.c b/sys/arch/arm32/arm32/irqhandler.c index fe9272541ec6..81a84b69996b 100644 --- a/sys/arch/arm32/arm32/irqhandler.c +++ b/sys/arch/arm32/arm32/irqhandler.c @@ -1,4 +1,4 @@ -/* $NetBSD: irqhandler.c,v 1.11 1996/11/06 18:18:41 mark Exp $ */ +/* $NetBSD: irqhandler.c,v 1.12 1996/12/27 02:01:02 mark Exp $ */ /* * Copyright (c) 1994-1996 Mark Brinicombe. @@ -489,6 +489,9 @@ dosoftints() softints = soft_interrupts & spl_mask; if (softints == 0) return; + if (current_intr_depth > 1) + return; + s = splsoft(); /* @@ -558,7 +561,7 @@ dosoftints() } #endif #include "ppp.h" -#ifdef NPPP +#if NPPP > 0 if (netisr & (1 << NETISR_PPP)) { atomic_clear_bit(&netisr, (1 << NETISR_PPP)); pppintr(); diff --git a/sys/arch/arm32/iomd/iomd_irqhandler.c b/sys/arch/arm32/iomd/iomd_irqhandler.c index 0dca51f228ff..2851ad3e60d0 100644 --- a/sys/arch/arm32/iomd/iomd_irqhandler.c +++ b/sys/arch/arm32/iomd/iomd_irqhandler.c @@ -1,4 +1,4 @@ -/* $NetBSD: iomd_irqhandler.c,v 1.11 1996/11/06 18:18:41 mark Exp $ */ +/* $NetBSD: iomd_irqhandler.c,v 1.12 1996/12/27 02:01:02 mark Exp $ */ /* * Copyright (c) 1994-1996 Mark Brinicombe. @@ -489,6 +489,9 @@ dosoftints() softints = soft_interrupts & spl_mask; if (softints == 0) return; + if (current_intr_depth > 1) + return; + s = splsoft(); /* @@ -558,7 +561,7 @@ dosoftints() } #endif #include "ppp.h" -#ifdef NPPP +#if NPPP > 0 if (netisr & (1 << NETISR_PPP)) { atomic_clear_bit(&netisr, (1 << NETISR_PPP)); pppintr();