RELENG_5: ata interrupt problems

Søren Schmidt sos at DeepCore.dk
Sun Aug 22 06:18:22 PDT 2004


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
@@ -239,6 +239,7 @@

      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",



More information about the freebsd-current mailing list