Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Manuel BOUYER <bouyer@netbsd.org>
List: source-changes
Date: 08/06/1999 05:00:27
Module Name: syssrc
Committed By: bouyer
Date: Fri Aug 6 12:00:26 UTC 1999
Modified Files:
syssrc/sys/dev/ata: ata_wdc.c
syssrc/sys/dev/ic: wdc.c
syssrc/sys/dev/scsipi: atapi_wdc.c
Log Message:
- Add some debug printf (WDCPROBE) in _wdcreset_wait(), I've needed these
2 times in the past
- Set up timeout per xfer instead of per interrupt. This helps with
PIO transfer (we would call timeout()/untimout() several times for a
transfer).
- If we missed an interrupt for a PIO transfer, reset and restart it
immedialy, don't try to recover and continue. If we missed an interrupt we
may have lost a read/write cycle on the IDE bus. If this happens 1) we
corrupt data and 2) we enter an interrupt loop at the end of the xfer, as
the drive has some more data to read/write, but the host thinks the xfer is
done.
This last change fix the (or at last some of the) 'lookup after lost interrupt'
some peoples have been experiencing.
To generate a diff of this commit:
cvs rdiff -r1.19 -r1.20 syssrc/sys/dev/ata/ata_wdc.c
cvs rdiff -r1.69 -r1.70 syssrc/sys/dev/ic/wdc.c
cvs rdiff -r1.23 -r1.24 syssrc/sys/dev/scsipi/atapi_wdc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.