Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Apr 2002 10:06:58 +0200 (CEST)
From:      Søren Schmidt <sos@freebsd.dk>
To:        Alexander Leidinger <Alexander@Leidinger.net>
Cc:        keramida@ceid.upatras.gr, dwcjr@inethouston.net, current@FreeBSD.ORG, sos@FreeBSD.ORG
Subject:   Re: ATA errors on recent -current
Message-ID:  <200204150806.g3F86wJ12216@freebsd.dk>
In-Reply-To: <200204150755.g3F7tJYT078875@Magelan.Leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
It seems Alexander Leidinger wrote:
> > I've seen this quite a few times, but I can't reliably reproduce it
> > yet.  It seems to hit me a lot when the ad0 drive spins like crazy
> > doing stuff that is heavy on disk I/O.  Disabling tag queueing now to
> > see if this fixes things.  But even if it does, I think I should
> > enable it again and help S?ren track this down, if I can.
> 
> There are a lot of people which want to help him...
> 
> First I got it only once (as you in a heavy disk I/O situation). After
> another new world I got it at every boot...
> 
> Some people see this after the "mega" MFC on -stable too.

Could I have you guys try this simple patch ? 

Index: ata-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.149
diff -u -r1.149 ata-all.c
--- ata-all.c   10 Apr 2002 11:18:07 -0000      1.149
+++ ata-all.c   15 Apr 2002 08:05:49 -0000
@@ -1009,13 +1009,12 @@
               rman_get_start(atadev->channel->r_io), 
               command, lba, count, feature, flags);
 #endif
-
-    /* select device */
-    ATA_OUTB(atadev->channel->r_io, ATA_DRIVE, ATA_D_IBM | atadev->unit);
-
     /* disable interrupt from device */
     if (atadev->channel->flags & ATA_QUEUED)
        ATA_OUTB(atadev->channel->r_altio, ATA_ALTSTAT, ATA_A_IDS | ATA_A_4BIT);
+
+    /* select device */
+    ATA_OUTB(atadev->channel->r_io, ATA_DRIVE, ATA_D_IBM | atadev->unit);
 
     /* ready to issue command ? */
     if (ata_wait(atadev, 0) < 0) { 

-Søren

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




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