summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/i386/isa/wd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c
index 9d988f3..d70dac7 100644
--- a/sys/i386/isa/wd.c
+++ b/sys/i386/isa/wd.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)wd.c 7.2 (Berkeley) 5/9/91
- * $Id: wd.c,v 1.188 1999/02/10 00:03:36 ken Exp $
+ * $Id: wd.c,v 1.189 1999/02/20 22:16:13 dt Exp $
*/
/* TODO:
@@ -328,6 +328,7 @@ wdprobe(struct isa_device *dvp)
if (inb(du->dk_port + wd_cyl_lo) == 0xff) { /* XXX too weak */
#ifdef ATAPI
/* There is no master, try the ATAPI slave. */
+ du->dk_unit = 1;
outb(du->dk_port + wd_sdh, WDSD_IBM | 0x10);
outb(du->dk_port + wd_cyl_lo, 0xa5);
if (inb(du->dk_port + wd_cyl_lo) == 0xff)
@@ -2299,8 +2300,9 @@ wdreset(struct disk *du)
outb(du->dk_altport, WDCTL_IDS | WDCTL_RST);
DELAY(10 * 1000);
outb(du->dk_altport, WDCTL_IDS);
+ outb(du->dk_port + wd_sdh, WDSD_IBM | (du->dk_unit << 4));
#ifdef ATAPI
- if (wdwait(du, WDCS_READY | WDCS_SEEKCMPLT, TIMEOUT) != 0)
+ if (wdwait(du, 0, TIMEOUT) != 0)
err = 1; /* no IDE drive found */
du->dk_error = inb(du->dk_port + wd_error);
if (du->dk_error != 0x01)
OpenPOWER on IntegriCloud