diff options
author | se <se@FreeBSD.org> | 1996-11-08 23:46:04 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 1996-11-08 23:46:04 +0000 |
commit | b006cd5501e13424cfd40ebf2855471731e588ab (patch) | |
tree | 526068df003aa5d05c3982d8af5bd22696b15ea9 /sys | |
parent | cc0b422ef3bb68fbd58ed622639f108ae428b1ed (diff) | |
download | FreeBSD-src-b006cd5501e13424cfd40ebf2855471731e588ab.zip FreeBSD-src-b006cd5501e13424cfd40ebf2855471731e588ab.tar.gz |
Only access the specific interrupt status registers if required.
This follows more closely the suggestions in the latest NCR docs, and has
been running on my system for weeks with no problem. It does improve the
quality of diagnostic messages and does allow to better understand the
sequence of events in case of an error.
This should go into 2.2 and 2.1.6.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/pci/ncr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c index 862af82..673fe09 100644 --- a/sys/pci/ncr.c +++ b/sys/pci/ncr.c @@ -1,6 +1,6 @@ /************************************************************************** ** -** $Id: ncr.c,v 1.81 1996/10/12 17:33:48 se Exp $ +** $Id: ncr.c,v 1.82 1996/10/14 10:09:52 se Exp $ ** ** Device driver for the NCR 53C810 PCI-SCSI-Controller. ** @@ -1250,7 +1250,7 @@ static void ncr_attach (pcici_t tag, int unit); static char ident[] = - "\n$Id: ncr.c,v 1.81 1996/10/12 17:33:48 se Exp $\n"; + "\n$Id: ncr.c,v 1.82 1996/10/14 10:09:52 se Exp $\n"; static const u_long ncr_version = NCR_VERSION * 11 + (u_long) sizeof (struct ncb) * 7 @@ -4969,8 +4969,8 @@ void ncr_exception (ncb_p np) ** Never test for an error condition you don't know how to handle. */ - dstat = INB (nc_dstat); - sist = INW (nc_sist) ; + dstat = (istat & DIP) ? INB (nc_dstat) : 0; + sist = (istat & SIP) ? INW (nc_sist) : 0; np->profile.num_int++; if (DEBUG_FLAGS & DEBUG_TINY) |