diff options
-rw-r--r-- | sys/dev/ic/sili.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ic/sili.c b/sys/dev/ic/sili.c index 99fb1166119..0d309d1239b 100644 --- a/sys/dev/ic/sili.c +++ b/sys/dev/ic/sili.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sili.c,v 1.36 2007/11/23 18:21:55 dlg Exp $ */ +/* $OpenBSD: sili.c,v 1.37 2007/11/23 18:26:03 kettenis Exp $ */ /* * Copyright (c) 2007 David Gwynne <dlg@openbsd.org> @@ -391,8 +391,9 @@ sili_intr(void *arg) u_int32_t is; int port; + /* If the card has gone away, this will return 0xffffffff. */ is = sili_read(sc, SILI_REG_GIS); - if (is == 0) + if (is == 0 || is == 0xffffffff) return (0); sili_write(sc, SILI_REG_GIS, is); DPRINTF(SILI_D_INTR, "sili_intr, GIS: %08x\n", is); |