aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/libata-sff.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 760502859821..d51dc41fa195 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -997,11 +997,16 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
997 res.start = ATA_PRIMARY_CMD; 997 res.start = ATA_PRIMARY_CMD;
998 res.end = ATA_PRIMARY_CMD + 8 - 1; 998 res.end = ATA_PRIMARY_CMD + 8 - 1;
999 conflict = ____request_resource(&ioport_resource, &res); 999 conflict = ____request_resource(&ioport_resource, &res);
1000 while (conflict->child)
1001 conflict = ____request_resource(conflict, &res);
1000 if (!strcmp(conflict->name, "libata")) 1002 if (!strcmp(conflict->name, "libata"))
1001 legacy_mode |= ATA_PORT_PRIMARY; 1003 legacy_mode |= ATA_PORT_PRIMARY;
1002 else { 1004 else {
1003 disable_dev_on_err = 0; 1005 disable_dev_on_err = 0;
1004 printk(KERN_WARNING "ata: 0x%0X IDE port busy\n", ATA_PRIMARY_CMD); 1006 printk(KERN_WARNING "ata: 0x%0X IDE port busy\n" \
1007 "ata: conflict with %s\n",
1008 ATA_PRIMARY_CMD,
1009 conflict->name);
1005 } 1010 }
1006 } else 1011 } else
1007 legacy_mode |= ATA_PORT_PRIMARY; 1012 legacy_mode |= ATA_PORT_PRIMARY;
@@ -1011,11 +1016,16 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
1011 res.start = ATA_SECONDARY_CMD; 1016 res.start = ATA_SECONDARY_CMD;
1012 res.end = ATA_SECONDARY_CMD + 8 - 1; 1017 res.end = ATA_SECONDARY_CMD + 8 - 1;
1013 conflict = ____request_resource(&ioport_resource, &res); 1018 conflict = ____request_resource(&ioport_resource, &res);
1019 while (conflict->child)
1020 conflict = ____request_resource(conflict, &res);
1014 if (!strcmp(conflict->name, "libata")) 1021 if (!strcmp(conflict->name, "libata"))
1015 legacy_mode |= ATA_PORT_SECONDARY; 1022 legacy_mode |= ATA_PORT_SECONDARY;
1016 else { 1023 else {
1017 disable_dev_on_err = 0; 1024 disable_dev_on_err = 0;
1018 printk(KERN_WARNING "ata: 0x%X IDE port busy\n", ATA_SECONDARY_CMD); 1025 printk(KERN_WARNING "ata: 0x%X IDE port busy\n" \
1026 "ata: conflict with %s\n",
1027 ATA_SECONDARY_CMD,
1028 conflict->name);
1019 } 1029 }
1020 } else 1030 } else
1021 legacy_mode |= ATA_PORT_SECONDARY; 1031 legacy_mode |= ATA_PORT_SECONDARY;