Assume floppy disk is not inserted when we have exhausted retries. This
significantly reduces booting time when there is broken floppy disk drive, controller, cable, BIOS, etc. When the floppy controller interface is correctly implemented, disk change signal (DSKCHG) is reflected in the Digital Input Register (DIR) at 0x3f7. However, there are many cases that the signal is unusable. Moreover, some BIOS does not reserve the port at all. In those cases, the register may not function.
This commit is contained in:
parent
8f395fae42
commit
b31da03fd8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=160283
@ -758,6 +758,9 @@ fdc_worker(struct fdc_data *fdc)
|
|||||||
(fdc->retry >= retries || (fd->options & FDOPT_NORETRY))) {
|
(fdc->retry >= retries || (fd->options & FDOPT_NORETRY))) {
|
||||||
if ((debugflags & 4))
|
if ((debugflags & 4))
|
||||||
printf("Too many retries (EIO)\n");
|
printf("Too many retries (EIO)\n");
|
||||||
|
mtx_lock(&fdc->fdc_mtx);
|
||||||
|
fd->flags |= FD_EMPTY;
|
||||||
|
mtx_unlock(&fdc->fdc_mtx);
|
||||||
return (fdc_biodone(fdc, EIO));
|
return (fdc_biodone(fdc, EIO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user