Thread (26 messages) 26 messages, 7 authors, 2012-02-16

Re: Regression 3.2 -> 3.3-rc1 10 sec hang at boot and resume, COMRESET failed

From: Lin Ming <hidden>
Date: 2012-02-03 08:27:44
Also in: lkml
Subsystem: libata subsystem (serial and parallel ata drivers), the rest · Maintainers: Damien Le Moal, Niklas Cassel, Linus Torvalds

Possibly related (same subject, not in this thread)

On Fri, 2012-02-03 at 14:43 +0900, Norbert Preining wrote:
On Fr, 03 Feb 2012, Lin Ming wrote:
quoted
quoted
I didn't try to revert that commit on top of HEAD.
Please revert that commit to test.
That helps us to make sure we find the exact bad commit.
Confirmed. Reverted 7faa33da9b7 on top of 6c073a7ee250 made
the boot delay go away. dmesg from this boot attached.
Dig into the code, but I can't find where the problem is.

Anyway, does below DEBUG patch help?
Let's always stop the engine during hard reset.
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index a72bfd0..8fef702 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -578,10 +578,6 @@ int ahci_stop_engine(struct ata_port *ap)
 
 	tmp = readl(port_mmio + PORT_CMD);
 
-	/* check if the HBA is idle */
-	if ((tmp & (PORT_CMD_START | PORT_CMD_LIST_ON)) == 0)
-		return 0;
-
 	/* setting HBA to idle */
 	tmp &= ~PORT_CMD_START;
 	writel(tmp, port_mmio + PORT_CMD);

Best wishes

Norbert
------------------------------------------------------------------------
Norbert Preining            preining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------
PELUTHO (n.) A South American ball game. The balls are whacked against
a brick wall with a stout wooden bat until the prisoner confesses.
			--- Douglas Adams, The Meaning of Liff
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help