Subject: kern/37211: Mounting Floppy with no Floppy causes Freezing
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <wwmpcdd@gmail.com>
List: netbsd-bugs
Date: 10/25/2007 19:35:00
>Number:         37211
>Category:       kern
>Synopsis:       Mounting Floppy with no Floppy causes Freezing
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 25 19:35:00 +0000 2007
>Originator:     Patrick
>Release:        4.0RC3
>Organization:
>Environment:
NetBSD bsdbox 4.0_RC3 NetBSD 4.0_RC3 (GENERIC.MP) #0: Tue Oct 16 01:41:36 PDT 2007  builds@wb34:/home/builds/ab/netbsd-4-0-RC3/i386/200710160011Z-obj/home/builds/ab/netbsd-4-0-RC3/src/sys/arch/i386/compile/GENERIC.MP i386
>Description:
When trying to mount a floppy drive, with no floppy inserted in the drive, X freezes for a few seconds, the unfreezes, then freezes again. This is looped a few times (you can see in the dmesg output shown below) until a hard error is printed in dmesg. I used the command:

--
# mount /mnt/floppy
--

In my /etc/fstab:

--
/dev/fd0a	/mnt/floppy	msdos	rw,noauto	0 0
--

dmesg gives:

--
fdcresult: timeout
fd0: timeout (st0 20<seek_cmplt> cyl 0)
fdcresult: timeout
fd0: timeout (st0 20<seek_cmplt> cyl 0)
fdcresult: timeout
fd0: timeout (st0 20<seek_cmplt> cyl 0)
fdcresult: timeout
fd0: timeout (st0 20<seek_cmplt> cyl 0)
fdcresult: timeout
fd0: timeout (st0 20<seek_cmplt> cyl 0)
fdcresult: timeout
fd0: timeout (st0 20<seek_cmplt> cyl 0)
fd0a: hard error reading fsbn 0 (st0 20<seek_cmplt> st1 0 st2 0 cyl 0 head 0 sec 0)
--

After this, the freezing stops. I insert a working floppy, and try to mount once again (using the same command as above). The freezing occurs again (though fewer times), and dmesg gives:

--
fd0a: soft error (corrected) reading fsbn 0
--

The floppy is then properly mounted. I can read data from it just fine. The unmounting of the floppy works fine, and subsequent mounts/unmounts work properly as well.
>How-To-Repeat:

>Fix: