diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2008-11-04 14:28:25 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2008-11-04 14:28:25 +0000 |
commit | 6ec99456dbf6311cbc9e75ecf264108b1a8a350f (patch) | |
tree | fe4701842842c3afe01783efafc6dac63aaa6cdc /sys/arch | |
parent | 33056b5e06726f76b0a697a60e98d251795cbda6 (diff) |
missing setipl in the 'busy processing soft interrupts state'
causes high priority interrupts to be delayed until that state is cleared.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/macppc/dev/openpic.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/macppc/dev/openpic.c b/sys/arch/macppc/dev/openpic.c index 87a55be21dc..98d092496f5 100644 --- a/sys/arch/macppc/dev/openpic.c +++ b/sys/arch/macppc/dev/openpic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: openpic.c,v 1.50 2008/09/19 01:49:54 drahn Exp $ */ +/* $OpenBSD: openpic.c,v 1.51 2008/11/04 14:28:24 drahn Exp $ */ /*- * Copyright (c) 2008 Dale Rahn <drahn@openbsd.org> @@ -453,6 +453,8 @@ openpic_do_pending_int(int pcpl) s = ppc_intr_disable(); if (ci->ci_iactive & CI_IACTIVE_PROCESSING_SOFT) { + /* soft interrupts are being processed, just set ipl/return */ + openpic_setipl(pcpl); ppc_intr_enable(s); return; } |