Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Feb 2004 17:37:36 +0200
From:      Lefteris Chatzibarbas <lefcha@hellug.gr>
To:        S?ren Schmidt <sos@DeepCore.dk>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ATA still broken
Message-ID:  <20040202153736.GA587@bsd>
In-Reply-To: <4018F07F.2090700@DeepCore.dk>
References:  <200401290057.00257.vkushnir@Alfacom.net> <C7A1DB03-51F8-11D8-B730-000A9597E964@infinithost.com> <20040129085607.GA568@bsd> <4018DE17.6060308@DeepCore.dk> <20040129113104.GA1401@bsd> <4018F07F.2090700@DeepCore.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

--vkogqOf2sHV7VnPd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Thu, Jan 29, 2004 at 12:37:35PM +0100, S?ren Schmidt wrote:
> Lefteris Chatzibarbas wrote:
> >After the "sos 2004/01/11 14:08:35 PST" commit mentionted in my previous
> >mail, system hangs during boot and I have already sent a more detailed
> >message (hardware, verbose boot, etc.) about this on freebsd-current@ a
> >couple of days ago (some threads above this):
> >
> >  Date: Sun, 25 Jan 2004 13:17:43 +0200
> >  Subject: System still hangs with "ata1-master: TIMEOUT - SETFEATURES SET 
> >  TRANSFER MODE"
> >
> >  http://lists.freebsd.org/pipermail/freebsd-current/2004-January/019497.html
> 
> Well I have no idea whats causing this except those drives does 
> something they shouldn't.
> 
> I'll try to get ahold of one of those faulty devices, but until then 
> your best bet is to dive in yourself and try to figure out what goes 
> wrong. I think we have a Liteon at work that I'll hopefully be able to 
> borrow late next week, of that shows the troublesome behavior I'll work 
> on a solution..

I've been able to boot and have all my devices correctly probed with the
attached patch.  It seems that it is this change that you made to
sys/dev/ata/ata-lowlevel.c, that my system does not like.



--vkogqOf2sHV7VnPd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="patch-ata-lowlevel.c.diff"

--- sys/dev/ata/ata-lowlevel.c~	Sun Feb  1 14:45:41 2004
+++ sys/dev/ata/ata-lowlevel.c	Mon Feb  2 16:47:14 2004
@@ -645,10 +645,6 @@
 	DELAY(100000);
     }	
 
-    /* enable interrupt */
-    DELAY(10);
-    ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_4BIT);
-
     if (stat0 & ATA_S_BUSY)
 	mask &= ~0x01;
     if (stat1 & ATA_S_BUSY)
@@ -732,6 +728,9 @@
 	ata_prtdev(atadev, "timeout sending command=%02x\n", command);
 	return -1;
     }
+
+    /* enable interrupt */
+    ATA_IDX_OUTB(atadev->channel, ATA_ALTSTAT, ATA_A_4BIT);
 
     /* only use 48bit addressing if needed (avoid bugs and overhead) */
     if ((lba > 268435455 || count > 256) && atadev->param && 

--vkogqOf2sHV7VnPd--



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