floppy disk controller broken
John Baldwin
jhb at freebsd.org
Wed Sep 17 21:18:45 UTC 2008
On Wednesday 17 September 2008 11:04:33 am Michel Talon wrote:
> Hello,
>
> when testing FreeBSD-7.1-BETA i discovered that the floppy disk
> controller doesn't work correctly. Trying to format a floppy (perhaps
> with bad blocks) i get:
> Processing fdformat: ioctl(FD_FORM): Device not configured
> instead of the normal E letter. I then checked the same problem is
> present on FreeBSD-6.3 and it has been reported by Beech Rintoul (*) in
> 2006! Of course the floppy disk driver is particularly messy, but
> this is not pretty.
>
> (*) i386/103862: Error with fdformat
It looks like the ioctl to format a track used to never report failures from
the controller. The newer driver does. What I've done with fdformat is to
make it just ignore the errors in userland instead. Try this:
Index: fdformat.c
===================================================================
--- fdformat.c (revision 183112)
+++ fdformat.c (working copy)
@@ -75,8 +75,7 @@
f.fd_formb_secno(i) = il[i+1];
f.fd_formb_secsize(i) = secsize;
}
- if(ioctl(fd, FD_FORM, (caddr_t)&f) < 0)
- err(EX_OSERR, "ioctl(FD_FORM)");
+ (void)ioctl(fd, FD_FORM, (caddr_t)&f);
}
static int
--
John Baldwin
More information about the freebsd-stable
mailing list