|
@@ -2126,6 +2126,13 @@ int ata_dev_configure(struct ata_device *dev)
|
|
dev->horkage |= ata_dev_blacklisted(dev);
|
|
dev->horkage |= ata_dev_blacklisted(dev);
|
|
ata_force_horkage(dev);
|
|
ata_force_horkage(dev);
|
|
|
|
|
|
|
|
+ if (dev->horkage & ATA_HORKAGE_DISABLE) {
|
|
|
|
+ ata_dev_printk(dev, KERN_INFO,
|
|
|
|
+ "unsupported device, disabling\n");
|
|
|
|
+ ata_dev_disable(dev);
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
/* let ACPI work its magic */
|
|
/* let ACPI work its magic */
|
|
rc = ata_acpi_on_devcfg(dev);
|
|
rc = ata_acpi_on_devcfg(dev);
|
|
if (rc)
|
|
if (rc)
|
|
@@ -3893,8 +3900,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
|
|
{ "SAMSUNG CD-ROM SN-124", "N001", ATA_HORKAGE_NODMA },
|
|
{ "SAMSUNG CD-ROM SN-124", "N001", ATA_HORKAGE_NODMA },
|
|
{ "Seagate STT20000A", NULL, ATA_HORKAGE_NODMA },
|
|
{ "Seagate STT20000A", NULL, ATA_HORKAGE_NODMA },
|
|
/* Odd clown on sil3726/4726 PMPs */
|
|
/* Odd clown on sil3726/4726 PMPs */
|
|
- { "Config Disk", NULL, ATA_HORKAGE_NODMA |
|
|
|
|
- ATA_HORKAGE_SKIP_PM },
|
|
|
|
|
|
+ { "Config Disk", NULL, ATA_HORKAGE_DISABLE },
|
|
|
|
|
|
/* Weird ATAPI devices */
|
|
/* Weird ATAPI devices */
|
|
{ "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 },
|
|
{ "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 },
|