Change the initial delay in wdwait to a DELAY macro call. It is really

too long, but does not impact performance very much when using the
NSECS_MULTI option.  This will help solve some mysterious IDE I/O
problems.
This commit is contained in:
John Dyson 1995-04-22 22:44:30 +00:00
parent 5b920a895d
commit 74d2d21c68
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=8005

View file

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)wd.c 7.2 (Berkeley) 5/9/91
* $Id: wd.c,v 1.72 1995/04/12 20:48:10 wollman Exp $
* $Id: wd.c,v 1.73 1995/04/14 22:31:58 phk Exp $
*/
/* TODO:
@ -1923,13 +1923,13 @@ wdwait(struct disk *du, u_char bits_wanted, int timeout)
wdc = du->dk_port;
timeout += POLLING;
/* dummy read for delay */
/*
* the reason that we are reading from an *unused* port,
* is that it might be *really* fast to read from the
* wd port.
*/
(void) inb(0x84);
/*
* This delay is really too long, but does not impact the performance
* as much when using the NSECS_MULTI option. Shorter delays have
* caused I/O errors on some drives and system configs. This should
* probably be fixed if we develop a better short term delay mechanism.
*/
DELAY(1);
do {
#ifdef WD_COUNT_RETRIES