[PATCH 2/2] ata: libata-core: Apply ATI NCQ horkage to ASPEED as well

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


We have some machines with ASPEED SATA controllers, and are seeing the same NCQ
issues that ATI controllers (I am not sure if it's a rebranded ATI controller,
or they both have some faulty implementation). This NCQ breakage is consistent
across a few different types of drives.

Instead of maintaining a list of drives that are broken with ASPEED controllers
as well as ATI, let's just treat ASPEED controllers like ATI ones, and disable
NCQ on drives that have ATA_HORKAGE_NO_NCQ_ON_ATI set on them.

We have been running this patch on several machines for over a week now without
reproducing an issue that was happening almost daily before.

Signed-off-by: Patrick McLean <chutzpah@xxxxxxxxxx>
 drivers/ata/libata-core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 14c17c3bda4e..051492e8e9f9 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2219,7 +2219,8 @@ static int ata_dev_config_ncq(struct ata_device *dev,
 	if (dev->horkage & ATA_HORKAGE_NO_NCQ_ON_ATI &&
-	    ata_dev_check_adapter(dev, PCI_VENDOR_ID_ATI)) {
+	    (ata_dev_check_adapter(dev, PCI_VENDOR_ID_ATI) ||
+		ata_dev_check_adapter(dev, PCI_VENDOR_ID_ASPEED))) {
 		snprintf(desc, desc_sz, "NCQ (not used)");
 		return 0;

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux