Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 May 2002 19:21:41 +0200 (CEST)
From:      Søren Schmidt <sos@freebsd.dk>
To:        Eugene Grosbein <eugen@svzserv.kemerovo.su>
Cc:        freebsd-bugs@FreeBSD.ORG, Dmitry Morozovsky <marck@rinet.ru>, Matthias Andree <ma@dt.e-technik.uni-dortmund.de>, freebsd-stable@FreeBSD.ORG, sos@FreeBSD.ORG
Subject:   Re: ATA observations in FreeBSD 4.6-RC
Message-ID:  <200205211721.g4LHLfSs029780@freebsd.dk>
In-Reply-To: <3CE9F4AB.E2F55150@svzserv.kemerovo.su>

next in thread | previous in thread | raw e-mail | index | archive | help
It seems Eugene Grosbein wrote:
[ Charset KOI8-R unsupported, converting... ]
> "S?ren Schmidt" wrote:
> 
> > Of cause it should, and belive me I'm doing all I can to try get this
> > nailed. But I do have a real life as well, and a fulltime job, 3 kids,
> > vife and lots of other important things to care for, so excuse me if
> > I dont work 24 hours a day on this problem...
> 
> Of course. How about backing out new ATA code and stick with old
> for the sake of 4.6-RELEASE stability?

Yeah, right, thats to prove that progress comes hard or what ?

Anyhow, could those haivng this problem try this patch:

Index: ata-disk.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-disk.c,v
retrieving revision 1.60.2.22
diff -u -r1.60.2.22 ata-disk.c
--- ata-disk.c	11 Apr 2002 08:45:32 -0000	1.60.2.22
+++ ata-disk.c	21 May 2002 15:51:52 -0000
@@ -707,17 +707,17 @@
 	int device = adp->device->unit;
 
 	if (adp->device->unit == ATA_MASTER) {
-	    if (adp->device->channel->devices & ATA_ATA_SLAVE &&
-		((struct ad_softc *)
-		 (adp->device->channel->
-		  device[ATA_DEV(ATA_SLAVE)].driver))->flags&AD_F_TAG_ENABLED)
+	    if ((adp->device->channel->devices & ATA_ATA_SLAVE) &&
+		(adp->device->channel->device[SLAVE].driver) &&
+		((struct ad_softc *) (adp->device->channel->
+		 device[SLAVE].driver))->flags & AD_F_TAG_ENABLED)
 		device = ATA_SLAVE;
 	}
 	else {
-	    if (adp->device->channel->devices & ATA_ATA_MASTER &&
-		((struct ad_softc *)
-		 (adp->device->channel->
-		  device[ATA_DEV(ATA_MASTER)].driver))->flags&AD_F_TAG_ENABLED)
+	    if ((adp->device->channel->devices & ATA_ATA_MASTER) &&
+		(adp->device->channel->device[MASTER].driver) &&
+		((struct ad_softc *) (adp->device->channel->
+		 device[MASTER].driver))->flags & AD_F_TAG_ENABLED)
 		device = ATA_MASTER;
 	}
 	if (device != adp->device->unit &&
-Søren

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205211721.g4LHLfSs029780>