cvs commit: src/sys/dev/fdc fdc_isa.c

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Sep 19 23:23:59 PDT 2004


In message <200409200612.i8K6CJ12009866 at repoman.freebsd.org>, Warner Losh write
s:

>  It accesed FDSTS and FDDATA incorrectly via the second resource (which
>  wound up accessing FDOUT and the tape register at 0x3f3) and badly for
>  the CTL register (at location 0x3f4).  This is a minimal fix that just
>  'eats' the first one if it covers two locations and has an offset of
>  0.  This confusion lead the floppy driver to think there'd been a disk
>  change, which uncovered a deadlock in the floppy/geom code which lead
>  to a panic.

The "deadlock" is only there if the disk-change line goes from
active to inactive when it shouldn't.  To reset this pin it is necessary
to execute a step to the controller. 

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the cvs-src mailing list