In fdcresult(), the loop that pulls status off the controller is treated

as a "timeout", yet there's no specific delay in each iteration.  Add
a small delay (10 usec... pretty arbitrary) in each iteration.  This
fixes the "fdcresult: timeout" problems I've been having on my 200MHz P6.
This commit is contained in:
thorpej 1996-11-27 19:53:51 +00:00
parent 0528423d96
commit 446317125e
1 changed files with 4 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: fd.c,v 1.98 1996/11/13 07:00:32 thorpej Exp $ */
/* $NetBSD: fd.c,v 1.99 1996/11/27 19:53:51 thorpej Exp $ */
/*-
* Copyright (c) 1993, 1994, 1995, 1996
@ -714,8 +714,10 @@ fdcresult(fdc)
log(LOG_ERR, "fdcresult: overrun\n");
return -1;
}
fdc->sc_status[n++] = bus_space_read_1(iot, ioh, fddata);
fdc->sc_status[n++] =
bus_space_read_1(iot, ioh, fddata);
}
delay(10);
}
log(LOG_ERR, "fdcresult: timeout\n");
return -1;