diff options
author | kato <kato@FreeBSD.org> | 1998-11-16 08:13:54 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 1998-11-16 08:13:54 +0000 |
commit | 4e499e78ea946fce6782daf5177d695ff3a28074 (patch) | |
tree | ab68d06d270ce387375c896a29848a8355758fda /sys | |
parent | 882d7baeed40118912f247c189ba8b572b745d23 (diff) | |
download | FreeBSD-src-4e499e78ea946fce6782daf5177d695ff3a28074.zip FreeBSD-src-4e499e78ea946fce6782daf5177d695ff3a28074.tar.gz |
Sync with sys/i386/isa/wd.c revision up to 1.180.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/pc98/pc98/wd.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/pc98/pc98/wd.c b/sys/pc98/pc98/wd.c index 25148ed..9acde23 100644 --- a/sys/pc98/pc98/wd.c +++ b/sys/pc98/pc98/wd.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.64 1998/10/13 09:44:09 kato Exp $ + * $Id: wd.c,v 1.65 1998/10/22 05:58:45 bde Exp $ */ /* TODO: @@ -67,6 +67,7 @@ #include "opt_atapi.h" #include "opt_devfs.h" #include "opt_hw_wdog.h" +#include "opt_ide_delay.h" #include "opt_wd.h" #include "pci.h" @@ -112,7 +113,11 @@ extern void wdstart(int ctrlr); +#ifdef IDE_DELAY +#define TIMEOUT IDE_DELAY +#else #define TIMEOUT 10000 +#endif #define RETRIES 5 /* number of retries before giving up */ #define RECOVERYTIME 500000 /* usec for controller to recover after err */ #define MAXTRANSFER 255 /* max size of transfer in sectors */ @@ -750,17 +755,17 @@ wdstrategy(register struct buf *bp) /* queue transfer on drive, activate drive and controller if idle */ s = splbio(); - bufqdisksort(&drive_queue[lunit], bp); - - if (wdutab[lunit].b_active == 0) - wdustart(du); /* start drive */ - /* Pick up changes made by readdisklabel(). */ if (du->dk_flags & DKFL_LABELLING && du->dk_state > RECAL) { wdsleep(du->dk_ctrlr, "wdlab"); du->dk_state = WANTOPEN; } + bufqdisksort(&drive_queue[lunit], bp); + + if (wdutab[lunit].b_active == 0) + wdustart(du); /* start drive */ + #ifdef CMD640 if (wdtab[du->dk_ctrlr_cmd640].b_active == 0) #else |