Reset fdc during probe.

From: <dec@lazarus.nrtc.northrop.com>
   Changes between EPSILON and RELEASE of FreeBSD have again caused
the kernel to not see my floppy disk drives.  I don't know what happened,
'cause I don't see any changes to fd.c, but here is an old fix that
I have applied to the probe routine which will solve the problem (at
least for me).  Since this is a rather brute-force solution - I understand
if you want to ignore it...

[Upgrading to pre-Beta FreeBSD caused this on my system. -AM]
This commit is contained in:
Andrew Moore 1993-12-03 05:01:40 +00:00
parent 64990426e4
commit 16111ced9f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=826
3 changed files with 21 additions and 3 deletions

View file

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
* $Id: fd.c,v 1.6 1993/09/23 15:22:57 rgrimes Exp $
* $Id: fd.c,v 1.7 1993/11/25 01:31:32 wollman Exp $
*
*/
@ -211,6 +211,12 @@ fdprobe(dev)
fdc_data[fdcu].baseport = dev->id_iobase;
/* First - lets reset the floppy controller */
outb(dev->id_iobase+fdout,0);
DELAY(100);
outb(dev->id_iobase+fdout,FDO_FRST);
/* see if it can handle a command */
if (out_fdc(fdcu,NE7CMD_SPECIFY) < 0)
{

View file

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
* $Id: fd.c,v 1.6 1993/09/23 15:22:57 rgrimes Exp $
* $Id: fd.c,v 1.7 1993/11/25 01:31:32 wollman Exp $
*
*/
@ -211,6 +211,12 @@ fdprobe(dev)
fdc_data[fdcu].baseport = dev->id_iobase;
/* First - lets reset the floppy controller */
outb(dev->id_iobase+fdout,0);
DELAY(100);
outb(dev->id_iobase+fdout,FDO_FRST);
/* see if it can handle a command */
if (out_fdc(fdcu,NE7CMD_SPECIFY) < 0)
{

View file

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
* $Id: fd.c,v 1.6 1993/09/23 15:22:57 rgrimes Exp $
* $Id: fd.c,v 1.7 1993/11/25 01:31:32 wollman Exp $
*
*/
@ -211,6 +211,12 @@ fdprobe(dev)
fdc_data[fdcu].baseport = dev->id_iobase;
/* First - lets reset the floppy controller */
outb(dev->id_iobase+fdout,0);
DELAY(100);
outb(dev->id_iobase+fdout,FDO_FRST);
/* see if it can handle a command */
if (out_fdc(fdcu,NE7CMD_SPECIFY) < 0)
{