diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index bb7c5f1..60fd031 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c @@ -820,6 +820,8 @@ static int ata_acpi_push_id(struct ata_device *dev) status = acpi_evaluate_object(dev->acpi_handle, "_SDD", &input, NULL); swap_buf_le16(dev->id, ATA_ID_WORDS); + dev_info(&dev->tdev, "%s: status=0x%x\n", __func__, status); + if (status == AE_NOT_FOUND) return -ENOENT; @@ -867,6 +869,8 @@ void ata_acpi_on_resume(struct ata_port *ap) const struct ata_acpi_gtm *gtm = ata_acpi_init_gtm(ap); struct ata_device *dev; + pr_info("%s: entered\n", __func__); + if (ap->acpi_handle && gtm) { /* _GTM valid */ @@ -890,8 +894,10 @@ void ata_acpi_on_resume(struct ata_port *ap) */ ata_for_each_dev(dev, &ap->link, ALL) { ata_acpi_clear_gtf(dev); - if (ata_dev_enabled(dev)) + if (ata_dev_enabled(dev)) { dev->flags |= ATA_DFLAG_ACPI_PENDING; + dev_info(&dev->tdev, "set ACPI_PENDING\n"); + } } } } @@ -948,9 +954,16 @@ int ata_acpi_on_devcfg(struct ata_device *dev) int nr_executed = 0; int rc; + dev_info(&dev->tdev, "%s: dev->acpi_handle=0x%p\n", __func__, + dev->acpi_handle); + if (!dev->acpi_handle) return 0; + dev_info(&dev->tdev, + "%s: dev->flags=0x%lx, acpi_sata=0x%x, ehc->i.flags=0x%x\n", + __func__, dev->flags, acpi_sata, ehc->i.flags); + /* do we need to do _GTF? */ if (!(dev->flags & ATA_DFLAG_ACPI_PENDING) && !(acpi_sata && (ehc->i.flags & ATA_EHI_DID_HARDRESET))) diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 6d53cf9..d4411f1 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -4064,6 +4064,8 @@ static void ata_eh_handle_port_resume(struct ata_port *ap) ata_for_each_dev(dev, link, ALL) ata_ering_clear(&dev->ering); + pr_info("%s: entered\n", __func__); + ata_acpi_set_state(ap, PMSG_ON); if (ap->ops->port_resume)