diff options
-rw-r--r-- | drivers/ata/libata-sff.c | 14 |
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; |