From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: [git patches] libata updates for 2.6.37 Date: Thu, 02 Dec 2010 11:17:09 +0100 Message-ID: <4CF77225.3040904@kernel.org> References: <4CF506A6.4020200@kernel.org> <20101130153839.GM15818@bombadil.infradead.org> <4CF52652.4030802@kernel.org> <20101130163150.GA25668@bombadil.infradead.org> <20101130175317.GB25668@bombadil.infradead.org> <20101130210938.GF25668@bombadil.infradead.org> <4CF62EE0.7040607@kernel.org> <20101201124445.GG25668@bombadil.infradead.org> <4CF6595A.6010104@kernel.org> <20101201155026.GH25668@bombadil.infradead.org> <20101201200907.GI25668@bombadil.infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from hera.kernel.org ([140.211.167.34]:52058 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757183Ab0LBKRl (ORCPT ); Thu, 2 Dec 2010 05:17:41 -0500 In-Reply-To: <20101201200907.GI25668@bombadil.infradead.org> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Kyle McMartin Cc: Jeff Garzik , Andrew Morton , Linus Torvalds , linux-ide@vger.kernel.org, LKML On 12/01/2010 09:09 PM, Kyle McMartin wrote: > On Wed, Dec 01, 2010 at 10:50:26AM -0500, Kyle McMartin wrote: >>> Nothing peculiar. Hmm... okay, I think I've found what went wrong. >>> Can you please try the following patch and see whether the problem >>> goes away? >>> >> >> Thanks, I'll let you know when/if it drops to 1.5gbps. >> > > Looks to stay at 3.0 Gbps now... but gives up on EH after 5 retries? Hmmm... something is setting EH_PENDING while EH is in progress. Let's see what's doing it. Can you please apply the following patch on top of the previous one and report the kernel log? Thanks. diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 5e59050..8f0d854 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -896,6 +896,10 @@ static void ata_eh_set_pending(struct ata_port *ap, int fastdrain) ap->pflags |= ATA_PFLAG_EH_PENDING; + ata_port_printk(ap, KERN_WARNING, "XXX SET EH PENDING, fastdrain=%d\n", + fastdrain); + dump_stack(); + if (!fastdrain) return;