[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <474D6EA7.2000506@gmail.com>
Date: Wed, 28 Nov 2007 22:35:35 +0900
From: Tejun Heo <htejun@...il.com>
To: Kjartan Maraas <kmaraas@...adpark.no>
CC: Tomas Carnecky <tom@...ervice.com>, Pavel Machek <pavel@....cz>,
linux-ide@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>,
Mark Lord <liml@....ca>, Jeff Garzik <jeff@...zik.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: laptop reboots right after hibernation
[cc'ing libata people]
Hello,
Kjartan Maraas wrote:
> Here you go. It shows the error two times and then it gets it right and
> continues to boot. No other problems arise from this that I can see.
Cool, it proves even my code works from time to time if the moon and
stars are perfectly aligned.
> ata1.00: ACPI cmd b1/c1:00:00:00:00:a0 failed (Emask=0x1 Stat=0x51 Err=0x04)
Your BIOS wants to issue DEVICE CONFIGURATION FREEZE LOCK but the device
NACKs it probably because the drive doesn't support DCO feature set.
> ata1: failed to recover some devices, retrying in 5 secs
> ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> ata1.00: ACPI cmd b1/c1:00:00:00:00:a0 failed (Emask=0x1 Stat=0x51 Err=0x04)
> ata1.00: ACPI on devcfg failed the second time, disabling (errno=-5)
libata EH gives ACPI one more chance but it fails again, so ACPI is
turned off.
> ata1.00: revalidation failed (errno=1)
> ata1: failed to recover some devices, retrying in 5 secs
> ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> ata1.00: configured for UDMA/100
Device is now configured properly.
Your BIOS is probably trying to issue DCO freeze lock to all drives. I
don't have the faintest idea why it does but it does. I think there are
several choices here.
1. Ignore device errors for _GTF commands. Report the failure with
KERN_DEBUG priority and just keep processing. ISTR there was a patch to
do this. Anyone knows what happened to it.
2. Filter out certain commands from ACPI. I definitely don't like BIOS
locking up random features via _GTF commands. It makes debugging difficult.
3. Look at opcode on failure and ignore error for certain operations.
My favorite is #2 but #1 should be fine too. Any thoughts?
Thanks.
--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists