Subject: Re: Missing atapibus target 1
To: Gary Duzan <gary@duzan.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: current-users
Date: 10/13/2003 22:01:41
--UHN/qo2QbUvPLonB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sun, Oct 12, 2003 at 10:52:30PM -0400, Gary Duzan wrote:
> pciide0:1:0: after reset, sc=0x1 sn=0x1 cl=0x14 ch=0xeb
> pciide0:1:1: after reset, sc=0x7f sn=0x7f cl=0x7f ch=0x7f

OK, so we have the same thing here.
Hum, I don't know why charles added this 0x7f mask in the code here; probably
because his CD behaves the same way, and he found his laptop would boot
quickier this way.
Can you try the attached patch ?

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 24 ans d'experience feront toujours la difference
--

--UHN/qo2QbUvPLonB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff

Index: wdc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/wdc.c,v
retrieving revision 1.140
diff -u -r1.140 wdc.c
--- wdc.c	2003/10/12 19:28:50	1.140
+++ wdc.c	2003/10/13 20:01:09
@@ -618,9 +618,9 @@
 		    chp->wdc ? chp->wdc->sc_dev.dv_xname : "wdcprobe",
 		    chp->channel, st0, st1), DEBUG_PROBE);
 
-		if ((st0 & 0x7f) == 0x7f || st0 == WDSD_IBM)
+		if (st0 == 0xff || st0 == WDSD_IBM)
 			ret_value &= ~0x01;
-		if ((st1 & 0x7f) == 0x7f || st1 == (WDSD_IBM | 0x10))
+		if (st1 == 0xff || st1 == (WDSD_IBM | 0x10))
 			ret_value &= ~0x02;
 		/* Register writability test, drive 0. */
 		if (ret_value & 0x01) {

--UHN/qo2QbUvPLonB--