diff options
author | gallatin <gallatin@FreeBSD.org> | 2002-03-22 15:55:56 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2002-03-22 15:55:56 +0000 |
commit | 0cae3ffd23a90d7bb58a0dab70c0c4ee8c9c7a4b (patch) | |
tree | eb809bd2756bd7b0c2e6addebeda0bb89dddc7f2 /sys | |
parent | 09171e09d6250c4cd8015e74e4231b0c8da70ac9 (diff) | |
download | FreeBSD-src-0cae3ffd23a90d7bb58a0dab70c0c4ee8c9c7a4b.zip FreeBSD-src-0cae3ffd23a90d7bb58a0dab70c0c4ee8c9c7a4b.tar.gz |
only read from the possibly bad address if we did not get a machine
check. I don't know how this went unnoticed for so long.
obtained from: NetBSD
MFC after: 7 days
Diffstat (limited to 'sys')
-rw-r--r-- | sys/alpha/alpha/interrupt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/alpha/alpha/interrupt.c b/sys/alpha/alpha/interrupt.c index 8202712..b1fe3e1 100644 --- a/sys/alpha/alpha/interrupt.c +++ b/sys/alpha/alpha/interrupt.c @@ -300,7 +300,7 @@ badaddr_read(addr, size, rptr) /* disallow further machine checks */ mc_expected = 0; - if (rptr) { + if (rptr && mc_received == 0) { switch (size) { case sizeof (u_int8_t): *(volatile u_int8_t *)rptr = rcpt; |