summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>1998-11-16 08:13:54 +0000
committerkato <kato@FreeBSD.org>1998-11-16 08:13:54 +0000
commit4e499e78ea946fce6782daf5177d695ff3a28074 (patch)
treeab68d06d270ce387375c896a29848a8355758fda
parent882d7baeed40118912f247c189ba8b572b745d23 (diff)
downloadFreeBSD-src-4e499e78ea946fce6782daf5177d695ff3a28074.zip
FreeBSD-src-4e499e78ea946fce6782daf5177d695ff3a28074.tar.gz
Sync with sys/i386/isa/wd.c revision up to 1.180.
-rw-r--r--sys/pc98/pc98/wd.c17
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
OpenPOWER on IntegriCloud