Thanks, changing that one line fixed it. I can try to find an intel motherboard sometime next week to see if it's the drive or the controller. On Sat, Dec 19, 2009 at 10:35 AM, Robert Hancock <hancockrwd@xxxxxxxxx> wrote: > 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. > -- 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