diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-09-05 05:20:33 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-05 05:20:33 -0400 |
commit | d0bd99299bf933ae006d2dc6a31ffcba482ae3f2 (patch) | |
tree | 62615ed8bc6ab68f42b59d412a7fd7ac77c79803 /drivers/scsi/sata_nv.c | |
parent | 6f1062330499cee10396bf3fc66a03eb228c5fad (diff) | |
parent | 586a4ac509b041df55f26c2b26cd7cbdaf9b045d (diff) | |
download | kernel_samsung_espresso10-d0bd99299bf933ae006d2dc6a31ffcba482ae3f2.zip kernel_samsung_espresso10-d0bd99299bf933ae006d2dc6a31ffcba482ae3f2.tar.gz kernel_samsung_espresso10-d0bd99299bf933ae006d2dc6a31ffcba482ae3f2.tar.bz2 |
/spare/repo/libata-dev branch 'iomap-try3'
Diffstat (limited to 'drivers/scsi/sata_nv.c')
-rw-r--r-- | drivers/scsi/sata_nv.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/scsi/sata_nv.c b/drivers/scsi/sata_nv.c index 03d9bc6..a1d62de 100644 --- a/drivers/scsi/sata_nv.c +++ b/drivers/scsi/sata_nv.c @@ -351,6 +351,7 @@ static void nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val) static void nv_host_stop (struct ata_host_set *host_set) { struct nv_host *host = host_set->private_data; + struct pci_dev *pdev = to_pci_dev(host_set->dev); // Disable hotplug event interrupts. if (host->host_desc->disable_hotplug) @@ -358,7 +359,8 @@ static void nv_host_stop (struct ata_host_set *host_set) kfree(host); - ata_host_stop(host_set); + if (host_set->mmio_base) + pci_iounmap(pdev, host_set->mmio_base); } static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) @@ -420,8 +422,7 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) if (host->host_flags & NV_HOST_FLAGS_SCR_MMIO) { unsigned long base; - probe_ent->mmio_base = ioremap(pci_resource_start(pdev, 5), - pci_resource_len(pdev, 5)); + probe_ent->mmio_base = pci_iomap(pdev, 5, 0); if (probe_ent->mmio_base == NULL) { rc = -EIO; goto err_out_free_host; @@ -457,7 +458,7 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) err_out_iounmap: if (host->host_flags & NV_HOST_FLAGS_SCR_MMIO) - iounmap(probe_ent->mmio_base); + pci_iounmap(pdev, probe_ent->mmio_base); err_out_free_host: kfree(host); err_out_free_ent: |