linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Hancock <hancockrwd@gmail.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: Mike Cui <cuicui@gmail.com>,
	linux-ide@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.32 seemed to have broken nVidia MCP7A sata controller
Date: Sat, 19 Dec 2009 12:35:31 -0600	[thread overview]
Message-ID: <4B2D1CF3.4070106@gmail.com> (raw)
In-Reply-To: <4B2C80DD.9080005@garzik.org>

On 12/19/2009 01:29 AM, Jeff Garzik wrote:
> On 12/19/2009 01:13 AM, Mike Cui wrote:
>> I have an nVidia MCP7A AHCI controller. I upgraded to 2.6.32.2 and my
>> system deterministically freezes trying to mount file systems. Once in
>> a while it will come back and finish booting after freezing for 1
>> minute or 2. dmesg indicates that there were NCQ errors, but 2.6.31
>> anb before has always worked flawlessly for me. What changed in
>> 2.6.32? I will be more than happy to help track down this issue.
>
>> ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen
>> ata1.00: cmd 61/08:00:4f:ad:03/00:00:00:00:00/40 tag 0 ncq 4096 out
>> res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
>> ata1: hard resetting link
>> ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
>> ata1.00: configured for UDMA/133
>> ata1.00: device reported invalid CHS sector 0
>
> Looks like things are timing out, and then go downhill from there. This
> explanation of timeout gives some hints on possible causes:
> http://ata.wiki.kernel.org/index.php/Libata_error_messages#Error_classes
>
> The ideal would be if you could bisect between 2.6.31 and 2.6.32, to see
> if it's a software change that is the cause.
>
> Looking at drivers/ata/ahci.c history, the only thing that -might- cause
> problems is 388539f3ff0cf1de926b03f94e1eec112358f74d ('git show $commit'
> for full commit info and diff).

I suspect that as well (it's the commit that adds FPDMA auto-activate on 
DMA setup FIS support). Your drive indicates it's supported but it's 
possible it's broken on that drive or the controller. If the drive 
doesn't set the activate bit in the DMA setup FIS properly or the 
controller doesn't respect it, then FPDMA requests will stall.

Mike, can you try and revert that patch, or else just change this line 
in drivers/ata/ahci.c:

		pi.flags |= ATA_FLAG_NCQ | ATA_FLAG_FPDMA_AA;

to

		pi.flags |= ATA_FLAG_NCQ;

and rebuild and see if it works better?

I tend to suspect the controller is the problem (I've got WD drives that 
work fine with AA on Intel AHCI, though it could be model-specific). I 
guess the only way to verify for sure which one it is would be if 
someone else had that particular drive model on a different AHCI 
controller and could verify if it worked with 2.6.32+ or not.

  reply	other threads:[~2009-12-19 18:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-19  6:13 2.6.32 seemed to have broken nVidia MCP7A sata controller Mike Cui
2009-12-19  7:29 ` Jeff Garzik
2009-12-19 18:35   ` Robert Hancock [this message]
2009-12-19 22:37     ` Mike Cui
2009-12-19 22:55       ` Jeff Garzik
2009-12-27 21:52       ` Robert Hancock
2010-01-21 23:48         ` Mike Cui
2010-01-22  0:36           ` Robert Hancock
2010-01-26  9:43             ` Mike Cui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B2D1CF3.4070106@gmail.com \
    --to=hancockrwd@gmail.com \
    --cc=cuicui@gmail.com \
    --cc=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).