Re: State of resume for AHCI?

From: Mark Lord
Date: Thu Jun 01 2006 - 14:29:44 EST


The one-line "resume fix" (attached) *might* be all that you need.
This is in current Linus 2.6.17-rc*-git*

Cheers Return-Path: <linux-ide-owner@xxxxxxxxxxxxxxx>
X-Original-To: liml@xxxxxx
Delivered-To: liml@xxxxxx
Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
by mail.rtr.ca (Postfix) with ESMTP id 2DCD7830162
for <liml@xxxxxx>; Sun, 28 May 2006 11:28:07 -0400 (EDT)
Received: (majordomo@xxxxxxxxxxxxxxx) by vger.kernel.org via listexpand
id S1750768AbWE1P2E (ORCPT <rfc822;liml@xxxxxx>);
Sun, 28 May 2006 11:28:04 -0400
Received: (majordomo@xxxxxxxxxxxxxxx) by vger.kernel.org id S1750772AbWE1P2D
(ORCPT <rfc822;linux-ide-outgoing>); Sun, 28 May 2006 11:28:03 -0400
Received: from rtr.ca ([64.26.128.89]:19922 "EHLO mail.rtr.ca")
by vger.kernel.org with ESMTP id S1750768AbWE1P2C (ORCPT
<rfc822;linux-ide@xxxxxxxxxxxxxxx>); Sun, 28 May 2006 11:28:02 -0400
Received: from silvy.localnet (silvy.localnet [10.0.0.14])
by mail.rtr.ca (Postfix) with ESMTP id D0C538300A1;
Sun, 28 May 2006 11:28:00 -0400 (EDT)
From: Mark Lord <liml@xxxxxx>
Organization: Real-Time Remedies Inc.
To: Jeff Garzik <jeff@xxxxxxxxxx>
Subject: [PATCH] 2.6.17-rc5: the latest consensus libata resume fix
Date: Sun, 28 May 2006 11:28:00 -0400
User-Agent: KMail/1.9.1
Cc: Linus Torvalds <torvalds@xxxxxxxx>, Jens Axboe <axboe@xxxxxxx>,
"zhao, forrest" <forrest.zhao@xxxxxxxxx>,
Tejun Heo <htejun@xxxxxxxxx>, linux-ide@xxxxxxxxxxxxxxx
References: <200605272245.30108.axboe@xxxxxxx> <Pine.LNX.4.64.0605271716030.5623@xxxxxxxxxxx> <4478F681.8050607@xxxxxxxxxx>
In-Reply-To: <4478F681.8050607@xxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200605281128.00532.liml@xxxxxx>
Sender: linux-ide-owner@xxxxxxxxxxxxxxx
Precedence: bulk
X-Mailing-List: linux-ide@xxxxxxxxxxxxxxx

Okay, just to sum things up.

The patch below is the current "release candidate" for
improving the libata/ata_piix resume functionality in 2.6.17-rc*.

It forces libata to wait for up to 2 seconds for BUSY|DRQ to clear
on resume before continuing. This is only for 2.6.17 at present.

We are waiting on Jens to test and report back for this specific version.

Signed-off-by: Mark Lord <liml@xxxxxx>
---
--- linux-2.6.17-rc5/drivers/scsi/libata-core.c
+++ linux/drivers/scsi/libata-core.c
@@ -4296,6 +4296,7 @@ static int ata_start_drive(struct ata_po
*/
int ata_device_resume(struct ata_port *ap, struct ata_device *dev)
{
if (ap->flags & ATA_FLAG_SUSPENDED) {
+ ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000);
ap->flags &= ~ATA_FLAG_SUSPENDED;
ata_set_mode(ap);
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html