aboutsummaryrefslogtreecommitdiff
path: root/sys/pci/ncr.c
diff options
context:
space:
mode:
authorStefan Eßer <se@FreeBSD.org>1997-08-31 19:35:52 +0000
committerStefan Eßer <se@FreeBSD.org>1997-08-31 19:35:52 +0000
commit71b8fb2a93ab51fb922ff3d0cccb93e27cbbfa0f (patch)
tree30c899ee9d06d89508aedb7f459cde1dfc3058b1 /sys/pci/ncr.c
parentd6b01f404d592c77b84dbf2cf11dc2c79e8d57cb (diff)
downloadsrc-71b8fb2a93ab51fb922ff3d0cccb93e27cbbfa0f.tar.gz
src-71b8fb2a93ab51fb922ff3d0cccb93e27cbbfa0f.zip
Fix problem with early revision 53c825a and 53c875 chips, which
could cause a solid system lockup in the driver attach: These chips do not abort an access to the internal SRAM, when the driver set the software reset bit in the istat register. But the chip will never acknowledge the requested PCI bus transfer in the situation, causing an infinite wait and a lockout of other bus-masters. The problem has been reported for rev 0x11 of the 53c825a and rev 0x01 of the 53c875. Revisions 0x13 of the 53c825a and 0x03 of the 53c875 are known to support SRAM accesses, even in the software reset state.
Notes
Notes: svn path=/head/; revision=28958
Diffstat (limited to 'sys/pci/ncr.c')
-rw-r--r--sys/pci/ncr.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/pci/ncr.c b/sys/pci/ncr.c
index ad500f289dab..e642f3e99bef 100644
--- a/sys/pci/ncr.c
+++ b/sys/pci/ncr.c
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** $Id: ncr.c,v 1.104 1997/08/23 21:53:47 se Exp $
+** $Id: ncr.c,v 1.105 1997/08/23 22:01:49 se Exp $
**
** Device driver for the NCR 53C810 PCI-SCSI-Controller.
**
@@ -1340,7 +1340,7 @@ static void ncr_attach (pcici_t tag, int unit);
static char ident[] =
- "\n$Id: ncr.c,v 1.104 1997/08/23 21:53:47 se Exp $\n";
+ "\n$Id: ncr.c,v 1.105 1997/08/23 22:01:49 se Exp $\n";
static const u_long ncr_version = NCR_VERSION * 11
+ (u_long) sizeof (struct ncb) * 7
@@ -3320,9 +3320,6 @@ static ncr_chip ncr_chip_table[] = {
FE_WIDE|FE_ERL|FE_BOF}
,
{NCR_825_ID, 0x10, "ncr 53c825a fast10 wide scsi", 7, 8, 4,
- FE_WIDE|FE_CACHE_SET|FE_DFS|FE_LDSTR|FE_PFEN/*|FE_RAM*/}
- ,
- {NCR_825_ID, 0x13, "ncr 53c825a fast10 wide scsi", 7, 8, 4,
FE_WIDE|FE_CACHE_SET|FE_DFS|FE_LDSTR|FE_PFEN|FE_RAM}
,
{NCR_860_ID, 0x00, "ncr 53c860 fast20 scsi", 4, 8, 5,
@@ -4901,6 +4898,7 @@ void ncr_init (ncb_p np, char * msg, u_long code)
OUTB (nc_istat, SRST);
DELAY (1000);
+ OUTB (nc_istat, 0);
/*
** Message.