Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Aug 2004 15:17:54 +0200
From:      =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@DeepCore.dk>
To:        "Simon L. Nielsen" <simon@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: RELENG_5: ata interrupt problems
Message-ID:  <41289D02.1080103@DeepCore.dk>
In-Reply-To: <20040822124133.GB749@zaphod.nitro.dk>
References:  <200408191632.25637.kent.hauser@verizon.net> <20040820085322.GC16420@eddie.nitro.dk> <20040821130814.GA2795@arthur.nitro.dk> <16679.63728.806424.628485@ran.psg.com> <41289139.6060806@DeepCore.dk> <20040822124133.GB749@zaphod.nitro.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
Simon L. Nielsen wrote:
> On 2004.08.22 14:27:37 +0200, S=F8ren Schmidt wrote:
>=20
>>Randy Bush wrote:
>>
>>>>The actual errors from a 5.3-BETA from today (hand transcribed):
>>>
>>>>ad0: 73863MB <HTS548080M9AT00/MG40A50A> [150071/16/63] at ata0-master=
=20
>>>>UDMA100
>>>>ATAPI_RESET time =3D 150us
>>>>ata1-slave: FAILURE - ATAPI_IDENTIFY timed out
>>>>ATAPI_RESET time =3D 150us
>>>>acd0: CDRW <UJDA740 DVD/CDRW/1.04> at ata1-master UDMA33
>>>>Mounting root from ufs:/dev/ad0s2a
>>>>[...]
>>>>ad0: WARNING - READ_DME interupt was seen but timeout fired LBA=3D415=
74224
>>>>[...]
>>>>ad0: WARNING - READ_DME interupt was seen but timeout fired LBA=3D415=
62160
>>>>ad0: WARNING - READ_DME interupt was seen but timeout fired LBA=3D415=
62160
>>>>ad0: WARNING - READ_DME interupt was seen but taskqueue stalled=20
>>>>LBA=3D41562160
>>>>Slab at 0xc1c3ff70, freei 3 =3D 0
>>>>
>>>>The "[...]" is just normal startup.  It goes as far as the script tha=
t
>>>>attaches my GDBE partition before it panics.
>>>>
>>>>And then it panics like below:
>>>
>>>yep.  same on a thinkpad t40p

Could I have you try the below patch and mail me the output from dmesg=20
on a failed boot please?. I need to know what kind of state those damned =

fakeslave devices are in to be able to fix this problem.

Or someone get me one of those crappy drives that does this here in the=20
lab to disect...

-S=F8ren

Index: ata-queue.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/sys/dev/ata/ata-queue.c,v
retrieving revision 1.32
diff -u -r1.32 ata-queue.c
--- ata-queue.c 16 Aug 2004 09:32:35 -0000      1.32
+++ ata-queue.c 22 Aug 2004 13:14:02 -0000
@@ -239,6 +239,7 @@

      if (request->flags & ATA_R_TIMEOUT) {
         /* workaround for devices failing to interrupt */
+printf("status=3D%02x error=3D%02x\n", request->status, request->error);=

         if (request->status =3D=3D (ATA_S_READY | ATA_S_DSC)) {
                 ata_prtdev(request->device,
                            "WARNING - %s no interrupt but good status\n"=
,



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