summaryrefslogtreecommitdiff
path: root/sys/arch/vax/uba/uba.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/vax/uba/uba.c')
-rw-r--r--sys/arch/vax/uba/uba.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/sys/arch/vax/uba/uba.c b/sys/arch/vax/uba/uba.c
index 5d06ea578aa..54dd5a55021 100644
--- a/sys/arch/vax/uba/uba.c
+++ b/sys/arch/vax/uba/uba.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uba.c,v 1.9 2000/04/27 03:14:51 bjc Exp $ */
-/* $NetBSD: uba.c,v 1.42 1999/02/02 18:37:20 ragge Exp $ */
+/* $OpenBSD: uba.c,v 1.10 2001/08/25 13:33:37 hugh Exp $ */
+/* $NetBSD: uba.c,v 1.43 2000/01/24 02:40:36 matt Exp $ */
/*
* Copyright (c) 1996 Jonathan Stone.
* Copyright (c) 1994, 1996 Ludd, University of Lule}, Sweden.
@@ -201,10 +201,9 @@ void
uba_dw780int(uba)
int uba;
{
- int br, vec, arg;
+ int br, vec;
struct uba_softc *sc = uba_cd.cd_devs[uba];
struct uba_regs *ur = sc->uh_uba;
- void (*func) __P((int));
br = mfpr(PR_IPL);
vec = ur->uba_brrvr[br - 0x14];
@@ -216,10 +215,9 @@ uba_dw780int(uba)
if (cold)
scb_fake(vec + sc->uh_ibase, br);
else {
- struct ivec_dsp *scb_vec = (struct ivec_dsp *)((int)scb + 512);
- func = scb_vec[vec/4].hoppaddr;
- arg = scb_vec[vec/4].pushlarg;
- (*func)(arg);
+ struct ivec_dsp *scb_vec = (struct ivec_dsp *)((int)scb + 512 + vec * 4);
+ (*scb_vec->hoppaddr)(scb_vec->pushlarg);
+
}
}