diff options
Diffstat (limited to 'drivers/ata/libata-acpi.c')
| -rw-r--r-- | drivers/ata/libata-acpi.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index fd9ecf74e63..5b0ba3f20ed 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c | |||
| @@ -1105,10 +1105,15 @@ static int ata_acpi_bind_device(struct ata_port *ap, struct scsi_device *sdev, | |||
| 1105 | struct acpi_device *acpi_dev; | 1105 | struct acpi_device *acpi_dev; |
| 1106 | struct acpi_device_power_state *states; | 1106 | struct acpi_device_power_state *states; |
| 1107 | 1107 | ||
| 1108 | if (ap->flags & ATA_FLAG_ACPI_SATA) | 1108 | if (ap->flags & ATA_FLAG_ACPI_SATA) { |
| 1109 | ata_dev = &ap->link.device[sdev->channel]; | 1109 | if (!sata_pmp_attached(ap)) |
| 1110 | else | 1110 | ata_dev = &ap->link.device[sdev->id]; |
| 1111 | else | ||
| 1112 | ata_dev = &ap->pmp_link[sdev->channel].device[sdev->id]; | ||
| 1113 | } | ||
| 1114 | else { | ||
| 1111 | ata_dev = &ap->link.device[sdev->id]; | 1115 | ata_dev = &ap->link.device[sdev->id]; |
| 1116 | } | ||
| 1112 | 1117 | ||
| 1113 | *handle = ata_dev_acpi_handle(ata_dev); | 1118 | *handle = ata_dev_acpi_handle(ata_dev); |
| 1114 | 1119 | ||
