From owner-freebsd-current Mon Apr 15 1: 7:18 2002 Delivered-To: freebsd-current@freebsd.org Received: from freebsd.dk (fw-rl0.freebsd.dk [212.242.86.114]) by hub.freebsd.org (Postfix) with ESMTP id 1C23D37B419; Mon, 15 Apr 2002 01:07:12 -0700 (PDT) Received: (from sos@localhost) by freebsd.dk (8.11.6/8.11.6) id g3F86wJ12216; Mon, 15 Apr 2002 10:06:58 +0200 (CEST) (envelope-from sos) From: Søren Schmidt Message-Id: <200204150806.g3F86wJ12216@freebsd.dk> Subject: Re: ATA errors on recent -current In-Reply-To: <200204150755.g3F7tJYT078875@Magelan.Leidinger.net> To: Alexander Leidinger Date: Mon, 15 Apr 2002 10:06:58 +0200 (CEST) Cc: keramida@ceid.upatras.gr, dwcjr@inethouston.net, current@FreeBSD.ORG, sos@FreeBSD.ORG Reply-To: sos@freebsd.dk X-Mailer: ELM [version 2.4ME+ PL94b (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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