ahci: filter FPDMA non-zero offset enable for Aspire 3810T
authorTejun Heo <tj@kernel.org>
Tue, 15 Sep 2009 19:18:03 +0000 (04:18 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 6 Oct 2009 04:26:29 +0000 (00:26 -0400)
commitf80ae7e45a0e03da188494c6e947a5c8b0cdfb4a
treef5e6e64cdce07c6e202ba3d0f96a54845550a031
parent110f66d25c33c2259b1125255fa7063ab07b8340
ahci: filter FPDMA non-zero offset enable for Aspire 3810T

Curiously, Aspire 3810T issues many SATA feature enable commands via
_GTF, of which one is invalid and another is not supported by the
drive.  In the process, it also enables FPDMA non-zero offset.
However, the feature also needs to be supported and enabled from the
controller and it's wrong to enable it from _GTF unless the controller
can do it by default.

Currently, this ends up enabling FPDMA non-zero offset only on the
drive side leading to NCQ command failures and eventual disabling of
NCQ.  This patch makes libata filter out FPDMA non-zero offset enable
for the machine.

This was reported by Marcus Meissner in bnc#522790.

  https://bugzilla.novell.com/show_bug.cgi?id=522790

Reported-by: Marcus Meissner <meissner@novell.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ahci.c