Hi, Michael/Rafael/Gu,
Could you help me understand the testing environme? I like to reproduce it if it is possible and debug it. The host controller this patch dealing with is not used on PC so my testing environment is quite different.
Thanks,
Jian
On Sat, May 14, 2011 at 3:28 AM, Tejun Heo <tj@xxxxxxxxxx> wrote:
This reverts commit 270dac35c26433d06a89150c51e75ca0181ca7e4.
The commits causes command timeouts on AC plug/unplug. It isn't yet
clear why. As the commit was for a single rather obscure controller,
revert the change for now.
The problem was reported and bisected by Gu Rui in bug#34692.
https://bugzilla.kernel.org/show_bug.cgi?id=34692
Also, reported by Rafael and Michael in the following thread.
http://thread.gmane.org/gmane.linux.kernel/1138771
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Reported-by: Gu Rui <chaos.proton@xxxxxxxxx>
Reported-by: Rafael J. Wysocki <rjw@xxxxxxx>
Reported-by: Michael Leun <lkml20100708@xxxxxxxxxxxxxxx>
Cc: Jian Peng <jipeng2005@xxxxxxxxx>
Cc: Jeff Garzik <jgarzik@xxxxxxxxx>
---
As we're already in -rc7, I'm sending the revert patch to both Jeff
and Linus.
Thank you.
drivers/ata/libahci.c | 21 ---------------------
1 files changed, 0 insertions(+), 21 deletions(-)
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index ff9d832..d38c40f 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -561,27 +561,6 @@ void ahci_start_engine(struct ata_port *ap)
{
void __iomem *port_mmio = ahci_port_base(ap);
u32 tmp;
- u8 status;
-
- status = readl(port_mmio + PORT_TFDATA) & 0xFF;
-
- /*
- * At end of section 10.1 of AHCI spec (rev 1.3), it states
- * Software shall not set PxCMD.ST to 1 until it is determined
- * that a functoinal device is present on the port as determined by
- * PxTFD.STS.BSY=0, PxTFD.STS.DRQ=0 and PxSSTS.DET=3h
- *
- * Even though most AHCI host controllers work without this check,
- * specific controller will fail under this condition
- */
- if (status & (ATA_BUSY | ATA_DRQ))
- return;
- else {
- ahci_scr_read(&ap->link, SCR_STATUS, &tmp);
-
- if ((tmp & 0xf) != 0x3)
- return;
- }
/* start DMA */
tmp = readl(port_mmio + PORT_CMD);
--
1.7.1
_______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm