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:
parent
0528423d96
commit
446317125e
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue