aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-sff.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/libata-sff.c')
-rw-r--r--drivers/ata/libata-sff.c36
1 files changed, 6 insertions, 30 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 066689c5e509..0a194660fd21 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -779,40 +779,16 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
779 /* Deal with combined mode hack. This side of the logic all 779 /* Deal with combined mode hack. This side of the logic all
780 goes away once the combined mode hack is killed in 2.6.21 */ 780 goes away once the combined mode hack is killed in 2.6.21 */
781 if (!devm_request_region(dev, ATA_PRIMARY_CMD, 8, "libata")) { 781 if (!devm_request_region(dev, ATA_PRIMARY_CMD, 8, "libata")) {
782 struct resource *conflict, res; 782 pcim_pin_device(pdev);
783 res.start = ATA_PRIMARY_CMD; 783 printk(KERN_WARNING "ata: 0x%0X IDE port busy\n",
784 res.end = ATA_PRIMARY_CMD + 8 - 1; 784 ATA_PRIMARY_CMD);
785 conflict = ____request_resource(&ioport_resource, &res);
786 while (conflict->child)
787 conflict = ____request_resource(conflict, &res);
788 if (!strcmp(conflict->name, "libata"))
789 legacy_mode |= ATA_PORT_PRIMARY;
790 else {
791 pcim_pin_device(pdev);
792 printk(KERN_WARNING "ata: 0x%0X IDE port busy\n" \
793 "ata: conflict with %s\n",
794 ATA_PRIMARY_CMD,
795 conflict->name);
796 }
797 } else 785 } else
798 legacy_mode |= ATA_PORT_PRIMARY; 786 legacy_mode |= ATA_PORT_PRIMARY;
799 787
800 if (!devm_request_region(dev, ATA_SECONDARY_CMD, 8, "libata")) { 788 if (!devm_request_region(dev, ATA_SECONDARY_CMD, 8, "libata")) {
801 struct resource *conflict, res; 789 pcim_pin_device(pdev);
802 res.start = ATA_SECONDARY_CMD; 790 printk(KERN_WARNING "ata: 0x%X IDE port busy\n",
803 res.end = ATA_SECONDARY_CMD + 8 - 1; 791 ATA_SECONDARY_CMD);
804 conflict = ____request_resource(&ioport_resource, &res);
805 while (conflict->child)
806 conflict = ____request_resource(conflict, &res);
807 if (!strcmp(conflict->name, "libata"))
808 legacy_mode |= ATA_PORT_SECONDARY;
809 else {
810 pcim_pin_device(pdev);
811 printk(KERN_WARNING "ata: 0x%X IDE port busy\n" \
812 "ata: conflict with %s\n",
813 ATA_SECONDARY_CMD,
814 conflict->name);
815 }
816 } else 792 } else
817 legacy_mode |= ATA_PORT_SECONDARY; 793 legacy_mode |= ATA_PORT_SECONDARY;
818 794