Date: Fri, 24 Sep 2004 15:35:37 -0400 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-current@FreeBSD.org Cc: phk@FreeBSD.org Subject: Re: interesting bug of new fdc(4) - two /dev/fd0 device files Message-ID: <200409241535.37511.jhb@FreeBSD.org> In-Reply-To: <20040924191225.32854.qmail@web14824.mail.yahoo.com> References: <20040924191225.32854.qmail@web14824.mail.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 24 September 2004 03:12 pm, Rostislav Krasny wrote: > I have FreeBSD 5.3-BETA5 and 5.3-BETA4 installed on separate disks of > the same computer. After the installation I added a second floppy drive > (disk B in DOS). See following logs about how both systems work after > that: > > dmesg and shell logs of 5.3-BETA5 (two /dev/fd0 device files): > > PNP0700: adding dma mask 0x4 > PNP0700: adding io range 0x3f2-0x3f5, size=0x4, align=0 > PNP0700: adding irq mask 0x40 > pnpbios: handle 12 device ID PNP0700 (0007d041) > [snipped] > fdc0: ic_type 90 part_id 80 > fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5 irq 6 drq 2 on > isa0 > fdc0: ic_type 90 part_id 80 > fdc0: [MPSAFE] > fdc0: [FAST] > fd0: <1440-KB 3.5" drive> on fdc0 drive 0 > fd1: <1440-KB 3.5" drive> on fdc0 drive 1 > > > ls -il /dev/fd[0-9] > > 73 crw-r----- 1 root operator 4, 10 Sep 24 20:21 /dev/fd0 > 73 crw-r----- 1 root operator 4, 10 Sep 24 20:21 /dev/fd0 > > > dmesg and shell logs of 5.3-BETA4 (no such bug): > > PNP0700: adding dma mask 0x4 > PNP0700: adding io range 0x3f2-0x3f5, size=0x4, align=0 > PNP0700: adding irq mask 0x40 > pnpbios: handle 12 device ID PNP0700 (0007d041) > [snipped] > fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port > 0x3f7,0x3f > 0-0x3f5 irq 6 drq 2 on isa0 > fdc0: FIFO enabled, 8 bytes threshold > fd0: <1440-KB 3.5" drive> on fdc0 drive 0 > fd1: <1440-KB 3.5" drive> on fdc0 drive 1 > > > ls -il /dev/fd[0-9] > > 32 crw-r----- 1 root operator 242, 0 Sep 24 19:05 /dev/fd0 > 34 crw-r----- 1 root operator 242, 1 Sep 24 19:05 /dev/fd1 > > > P.S. having two floppy drives became rare at our days but this is still > possible and correct to be used by anyone. Looks like a bug in fd2_attach(): fd->fd_geom = g_new_geomf(&g_fd_class, "fd%d", device_get_unit(fd->fdc->fdc_dev)); Try changing that line in sys/dev/fdc/fdc.c (about line 1909) to use fd->fd_dev rather than fd->fdc->fdc_dev. Or, alternatively, change the two lines to: fd->fd_geom = g_new_geomf(&g_fd_class, "%s", device_get_nameunit(fd)); -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409241535.37511.jhb>