Re: RELENG_5: ata interrupt problems

From: Søren Schmidt <sos_at_DeepCore.dk>
Date: Sun, 22 Aug 2004 15:17:54 +0200
Simon L. Nielsen wrote:
> On 2004.08.22 14:27:37 +0200, Søren Schmidt wrote:
> 
>>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 
>>>>UDMA100
>>>>ATAPI_RESET time = 150us
>>>>ata1-slave: FAILURE - ATAPI_IDENTIFY timed out
>>>>ATAPI_RESET time = 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=41574224
>>>>[...]
>>>>ad0: WARNING - READ_DME interupt was seen but timeout fired LBA=41562160
>>>>ad0: WARNING - READ_DME interupt was seen but timeout fired LBA=41562160
>>>>ad0: WARNING - READ_DME interupt was seen but taskqueue stalled 
>>>>LBA=41562160
>>>>Slab at 0xc1c3ff70, freei 3 = 0
>>>>
>>>>The "[...]" is just normal startup.  It goes as far as the script that
>>>>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 
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 
lab to disect...

-Søren

Index: ata-queue.c
===================================================================
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
_at__at_ -239,6 +239,7 _at__at_

      if (request->flags & ATA_R_TIMEOUT) {
         /* workaround for devices failing to interrupt */
+printf("status=%02x error=%02x\n", request->status, request->error);
         if (request->status == (ATA_S_READY | ATA_S_DSC)) {
                 ata_prtdev(request->device,
                            "WARNING - %s no interrupt but good status\n",
Received on Sun Aug 22 2004 - 11:18:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:07 UTC