summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-04-16 06:06:47 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-04-16 06:06:47 +0000
commit623fdbda60a9322faa6b9888c6646a256a6caf84 (patch)
tree0b6074804d23ea160f136eb3474117ce2e0ebfe1 /sys
parent932f3bbccc6ec600e4e97c82d94ee1b3fe82a0ea (diff)
When the abort button is pressed on 1x7, do not invoke the trap handler twice.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/mvme88k/dev/vme.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/sys/arch/mvme88k/dev/vme.c b/sys/arch/mvme88k/dev/vme.c
index c91e3a17cae..9c7437dfff0 100644
--- a/sys/arch/mvme88k/dev/vme.c
+++ b/sys/arch/mvme88k/dev/vme.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vme.c,v 1.30 2004/04/14 23:06:16 miod Exp $ */
+/* $OpenBSD: vme.c,v 1.31 2004/04/16 06:06:46 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* Copyright (c) 1995 Theo de Raadt
@@ -447,7 +447,7 @@ vme2chip_init(sc)
sc->sc_dev.dv_xname,
vme2->vme2_master4 << 16, vme2->vme2_master4 & 0xffff0000,
(vme2->vme2_master4 << 16) + (vme2->vme2_master4mod << 16),
- (vme2->vme2_master4 & 0xffff0000) + (vme2->vme2_master4 & 0xffff0000));
+ (vme2->vme2_master4 & 0xffff0000) + (vme2->vme2_master4mod & 0xffff0000));
/*
* Map the VME irq levels to the cpu levels 1:1.
* This is rather inflexible, but much easier.
@@ -563,24 +563,12 @@ vme2abort(eframe)
struct vmesoftc *sc = (struct vmesoftc *) vme_cd.cd_devs[0];
struct vme2reg *vme2 = (struct vme2reg *)sc->sc_vaddr;
- int rc = 0;
- if (vme2->vme2_irqstat & VME2_IRQ_AB) {
- vme2->vme2_irqclr = VME2_IRQ_AB;
- nmihand(frame);
- rc = 1;
- }
- if (vme2->vme2_irqstat & VME2_IRQ_AB) {
- vme2->vme2_irqclr = VME2_IRQ_AB;
- nmihand(frame);
- rc = 1;
- }
-#if 0
- if (vme2->vme2_irqstat & VME2_IRQ_AB == 0) {
+ if ((vme2->vme2_irqstat & VME2_IRQ_AB) == 0) {
printf("%s: abort irq not set\n", sc->sc_dev.dv_xname);
return (0);
}
-#endif
+
vme2->vme2_irqclr = VME2_IRQ_AB;
nmihand(frame);
return (1);