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
C accessing them).

MFC after:	1 day
This commit is contained in:
mjacob 2001-10-06 19:19:24 +00:00
parent d0e1f2b7bb
commit 76761f10d4

View File

@ -835,6 +835,8 @@ isp_pci_rd_isr_2300(struct ispsoftc *isp, u_int16_t *isrp,
struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp;
u_int32_t r2hisr;
if ((BXR2(pcs, IspVirt2Off(isp, BIU_ISR) & BIU2100_ISR_RISC_INT)) == 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);