Re: [PATCH libata-dev#upstream-fixes] ahci: request all PCI BARs

Jeff Garzik
2008-03-17T12:27:43Z

Tejun Heo wrote:
> 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>
> ---
> drivers/ata/ahci.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> Index: work/drivers/ata/ahci.c
> ===================================================================
> --- work.orig/drivers/ata/ahci.c
> +++ work/drivers/ata/ahci.c
> @@ -2234,7 +2234,10 @@ static int ahci_init_one(struct pci_dev
> 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);

applied this, and the devres function