aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-11 19:52:31 +0900
committerJeff Garzik <jeff@garzik.org>2008-03-17 08:26:47 -0400
commitdea55137634226fd74d5187a15dee1244ec252cb (patch)
treef7acf611f82a0af1194e0375fed462f536f13348
parent916fbfb7ae5f8c8f86399794d89e6d273df8826b (diff)
downloadkernel_samsung_aries-dea55137634226fd74d5187a15dee1244ec252cb.zip
kernel_samsung_aries-dea55137634226fd74d5187a15dee1244ec252cb.tar.gz
kernel_samsung_aries-dea55137634226fd74d5187a15dee1244ec252cb.tar.bz2
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>
-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)