Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83400917 authored by Aaron Lu's avatar Aaron Lu Committed by Jeff Garzik
Browse files

[libata] acpi: call ata_acpi_gtm during ata port init time

Commit 30dcf76a mistakenly dropped
the code to get an initial gtm for the IDE channel. This caused the
following problem for Sergei:
http://marc.info/?l=linux-kernel&m=134484963618457&w=2



Fix this by adding the call back in ata_acpi_bind_host, and due to
this, the ata_ap_acpi_handle is modified accordingly.

Tested-by: default avatarSergei Trofimovich <slyich@gmail.com>
Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent 389cd784
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -60,17 +60,7 @@ acpi_handle ata_ap_acpi_handle(struct ata_port *ap)
	if (ap->flags & ATA_FLAG_ACPI_SATA)
		return NULL;

	/*
	 * If acpi bind operation has already happened, we can get the handle
	 * for the port by checking the corresponding scsi_host device's
	 * firmware node, otherwise we will need to find out the handle from
	 * its parent's acpi node.
	 */
	if (ap->scsi_host)
		return DEVICE_ACPI_HANDLE(&ap->scsi_host->shost_gendev);
	else
		return acpi_get_child(DEVICE_ACPI_HANDLE(ap->host->dev),
				ap->port_no);
	return acpi_get_child(DEVICE_ACPI_HANDLE(ap->host->dev), ap->port_no);
}
EXPORT_SYMBOL(ata_ap_acpi_handle);

@@ -1101,6 +1091,9 @@ static int ata_acpi_bind_host(struct ata_port *ap, acpi_handle *handle)
	if (!*handle)
		return -ENODEV;

	if (ata_acpi_gtm(ap, &ap->__acpi_init_gtm) == 0)
		ap->pflags |= ATA_PFLAG_INIT_GTM_VALID;

	return 0;
}