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>