|
@@ -2492,6 +2492,13 @@ int ata_dev_configure(struct ata_device *dev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if ((dev->horkage & ATA_HORKAGE_FIRMWARE_WARN) && print_info) {
|
|
|
+ ata_dev_printk(dev, KERN_WARNING, "WARNING: device requires "
|
|
|
+ "firmware update to be fully functional.\n");
|
|
|
+ ata_dev_printk(dev, KERN_WARNING, " contact the vendor "
|
|
|
+ "or visit http://ata.wiki.kernel.org.\n");
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
err_out_nosup:
|
|
@@ -4042,6 +4049,20 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
|
|
|
{ "ST380817AS", "3.42", ATA_HORKAGE_NONCQ },
|
|
|
{ "ST3160023AS", "3.42", ATA_HORKAGE_NONCQ },
|
|
|
|
|
|
+ /* Seagate NCQ + FLUSH CACHE firmware bug */
|
|
|
+ { "ST31500341AS", "9JU138", ATA_HORKAGE_NONCQ |
|
|
|
+ ATA_HORKAGE_FIRMWARE_WARN },
|
|
|
+ { "ST31000333AS", "9FZ136", ATA_HORKAGE_NONCQ |
|
|
|
+ ATA_HORKAGE_FIRMWARE_WARN },
|
|
|
+ { "ST3640623AS", "9FZ164", ATA_HORKAGE_NONCQ |
|
|
|
+ ATA_HORKAGE_FIRMWARE_WARN },
|
|
|
+ { "ST3640323AS", "9FZ134", ATA_HORKAGE_NONCQ |
|
|
|
+ ATA_HORKAGE_FIRMWARE_WARN },
|
|
|
+ { "ST3320813AS", "9FZ182", ATA_HORKAGE_NONCQ |
|
|
|
+ ATA_HORKAGE_FIRMWARE_WARN },
|
|
|
+ { "ST3320613AS", "9FZ162", ATA_HORKAGE_NONCQ |
|
|
|
+ ATA_HORKAGE_FIRMWARE_WARN },
|
|
|
+
|
|
|
/* Blacklist entries taken from Silicon Image 3124/3132
|
|
|
Windows driver .inf file - also several Linux problem reports */
|
|
|
{ "HTS541060G9SA00", "MB3OC60D", ATA_HORKAGE_NONCQ, },
|