diff options
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-acpi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index 5b0ba3f20edc..ef01ac07502e 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c | |||
@@ -76,6 +76,9 @@ acpi_handle ata_dev_acpi_handle(struct ata_device *dev) | |||
76 | acpi_integer adr; | 76 | acpi_integer adr; |
77 | struct ata_port *ap = dev->link->ap; | 77 | struct ata_port *ap = dev->link->ap; |
78 | 78 | ||
79 | if (dev->flags & ATA_DFLAG_ACPI_DISABLED) | ||
80 | return NULL; | ||
81 | |||
79 | if (ap->flags & ATA_FLAG_ACPI_SATA) { | 82 | if (ap->flags & ATA_FLAG_ACPI_SATA) { |
80 | if (!sata_pmp_attached(ap)) | 83 | if (!sata_pmp_attached(ap)) |
81 | adr = SATA_ADR(ap->port_no, NO_PORT_MULT); | 84 | adr = SATA_ADR(ap->port_no, NO_PORT_MULT); |
@@ -945,6 +948,7 @@ int ata_acpi_on_devcfg(struct ata_device *dev) | |||
945 | return rc; | 948 | return rc; |
946 | } | 949 | } |
947 | 950 | ||
951 | dev->flags |= ATA_DFLAG_ACPI_DISABLED; | ||
948 | ata_dev_warn(dev, "ACPI: failed the second time, disabled\n"); | 952 | ata_dev_warn(dev, "ACPI: failed the second time, disabled\n"); |
949 | 953 | ||
950 | /* We can safely continue if no _GTF command has been executed | 954 | /* We can safely continue if no _GTF command has been executed |