diff options
author | Bob Beck <beck@cvs.openbsd.org> | 2005-04-04 22:22:08 +0000 |
---|---|---|
committer | Bob Beck <beck@cvs.openbsd.org> | 2005-04-04 22:22:08 +0000 |
commit | e34711b626d65ca1183eb7d50315f8188388775f (patch) | |
tree | d9bf5d4de52e120750656a662537b2ff7137314e | |
parent | 6baa13ce4e00828df38532fce0ad100016b95f2e (diff) |
Fix interrupt sharing on bge, by checking the same way the linux
driver does. ok deraadt@, testing and ok krw@, markus@
-rw-r--r-- | sys/dev/pci/if_bge.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index 80874e43a4e..e83682db322 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bge.c,v 1.56 2005/04/01 02:49:03 brad Exp $ */ +/* $OpenBSD: if_bge.c,v 1.57 2005/04/04 22:22:07 beck Exp $ */ /* * Copyright (c) 2001 Wind River Systems * Copyright (c) 1997, 1998, 1999, 2001 @@ -2381,6 +2381,10 @@ bge_intr(xsc) if (!(CSR_READ_4(sc, BGE_MISC_LOCAL_CTL) & BGE_MLC_INTR_STATE)) return (0); #endif + if (!(sc->bge_rdata->bge_status_block.bge_status & + BGE_STATFLAG_UPDATED)) /* shared interrupt */ + return(0); + /* Ack interrupt and stop others from occurring. */ CSR_WRITE_4(sc, BGE_MBX_IRQ0_LO, 1); |