Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci Respect QLogic's errata- read BIU_ISR even on th...



details:   https://anonhg.NetBSD.org/src/rev/c79347125abe
branches:  trunk
changeset: 515878:c79347125abe
user:      mjacob <mjacob%NetBSD.org@localhost>
date:      Sat Oct 06 20:33:24 2001 +0000

description:
Respect QLogic's errata- read BIU_ISR even on the 2300
to see if there's an interrupt (avoids PCI parity errors
which can occur on the 2312 if you access some registers
from the host at the same time the RISC on the 2312 is
accessing them).

diffstat:

 sys/dev/pci/isp_pci.c |  6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diffs (20 lines):

diff -r bea8f305b568 -r c79347125abe sys/dev/pci/isp_pci.c
--- a/sys/dev/pci/isp_pci.c     Sat Oct 06 20:31:50 2001 +0000
+++ b/sys/dev/pci/isp_pci.c     Sat Oct 06 20:33:24 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: isp_pci.c,v 1.72 2001/09/01 07:12:25 mjacob Exp $ */
+/* $NetBSD: isp_pci.c,v 1.73 2001/10/06 20:33:24 mjacob Exp $ */
 /*
  * This driver, which is contained in NetBSD in the files:
  *
@@ -707,6 +707,10 @@
        struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp;
        u_int32_t r2hisr;
 
+       if (!(BXR2(pcs, IspVirt2Off(isp, BIU_ISR)) & BIU2100_ISR_RISC_INT)) {
+               *isrp = 0;
+               return (0);
+       }
        r2hisr = bus_space_read_4(pcs->pci_st, pcs->pci_sh,
            IspVirt2Off(pcs, BIU_R2HSTSLO));
        isp_prt(isp, ISP_LOGDEBUG3, "RISC2HOST ISR 0x%x", r2hisr);



Home | Main Index | Thread Index | Old Index