Messages in this thread Patch in this message | | | From | Lin Ming <> | Subject | [PATCH v5 04/12] libata: use correct PCI devices | Date | Mon, 18 Jun 2012 14:25:58 +0800 |
| |
From: Holger Macht <holger@homac.de>
Commit 9a6d6a2ddabbd32c07f6a38b659e5f3db319fa5a made ata ports parent devices of scsi hosts, so we need to go yet another level up to be able to use the correct PCI devices.
Signed-off-by: Holger Macht <holger@homac.de> Signed-off-by: Lin Ming <ming.m.lin@intel.com> --- drivers/ata/libata-acpi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index adc6336..98826e96 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c @@ -987,7 +987,7 @@ static int ata_acpi_bind_host(struct device *dev, int host, acpi_handle *handle) if (ap->flags & ATA_FLAG_ACPI_SATA) return -ENODEV; - *handle = acpi_get_child(DEVICE_ACPI_HANDLE(dev->parent), ap->port_no); + *handle = acpi_get_child(DEVICE_ACPI_HANDLE(dev->parent->parent), ap->port_no); if (!*handle) return -ENODEV; @@ -1021,13 +1021,13 @@ static int ata_acpi_find_device(struct device *dev, acpi_handle *handle) unsigned int host, channel, id, lun; if (sscanf(dev_name(dev), "host%u", &host) == 1) { - if (!compat_pci_ata(dev->parent)) + if (!compat_pci_ata(dev->parent->parent)) return -ENODEV; return ata_acpi_bind_host(dev, host, handle); } else if (sscanf(dev_name(dev), "%d:%d:%d:%d", &host, &channel, &id, &lun) == 4) { - if (!compat_pci_ata(dev->parent->parent->parent)) + if (!compat_pci_ata(dev->parent->parent->parent->parent)) return -ENODEV; return ata_acpi_bind_device(dev, channel, id, handle); -- 1.7.10
| |