summaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-11 11:52:31 +0100
committerJeff Garzik <jeff@garzik.org>2008-03-17 13:26:47 +0100
commitdea55137634226fd74d5187a15dee1244ec252cb (patch)
treef7acf611f82a0af1194e0375fed462f536f13348 /drivers/ata/ahci.c
parentdevres: implement pcim_iomap_regions_request_all() (diff)
downloadlinux-dea55137634226fd74d5187a15dee1244ec252cb.tar.xz
linux-dea55137634226fd74d5187a15dee1244ec252cb.zip
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 '')
-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 6978469eb16d..53f5afd9420c 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)