summaryrefslogtreecommitdiff
path: root/drivers/ata/ahci.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-11 10:52:31 (GMT)
committerJeff Garzik <jeff@garzik.org>2008-03-17 12:26:47 (GMT)
commitdea55137634226fd74d5187a15dee1244ec252cb (patch)
treef7acf611f82a0af1194e0375fed462f536f13348 /drivers/ata/ahci.c
parent916fbfb7ae5f8c8f86399794d89e6d273df8826b (diff)
downloadlinux-dea55137634226fd74d5187a15dee1244ec252cb.tar.xz
ahci: request all PCI BARs
ahci is often implemented with accompanying SFF compatible interface and legacy IDE driver may attach to the legacy IO ports when the controller is already claimed by ahci and vice-versa. This patch makes ahci use pcim_iomap_regions_request_all() so that all IO regions are claimed on attach. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r--drivers/ata/ahci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 6978469..53f5afd 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -2241,7 +2241,10 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
if (rc)
return rc;
- rc = pcim_iomap_regions(pdev, 1 << AHCI_PCI_BAR, DRV_NAME);
+ /* AHCI controllers often implement SFF compatible interface.
+ * Grab all PCI BARs just in case.
+ */
+ rc = pcim_iomap_regions_request_all(pdev, 1 << AHCI_PCI_BAR, DRV_NAME);
if (rc == -EBUSY)
pcim_pin_device(pdev);
if (rc)