'base_addr' has been mapped using 'pci_iomap()'. It should be freed with
the corresponding 'pci_iounmap()' instead of 'iomap()'.

Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
---
 drivers/scsi/3w-sas.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c
index cf9f2a09b47d..231b04dd9076 100644
--- a/drivers/scsi/3w-sas.c
+++ b/drivers/scsi/3w-sas.c
@@ -1692,7 +1692,7 @@ static int twl_probe(struct pci_dev *pdev, const struct 
pci_device_id *dev_id)
                pci_disable_msi(pdev);
        scsi_remove_host(host);
 out_iounmap:
-       iounmap(tw_dev->base_addr);
+       pci_iounmap(pdev, tw_dev->base_addr);
 out_release_mem_region:
        pci_release_regions(pdev);
 out_free_device_extension:
@@ -1738,7 +1738,7 @@ static void twl_remove(struct pci_dev *pdev)
                pci_disable_msi(pdev);
 
        /* Free IO remapping */
-       iounmap(tw_dev->base_addr);
+       pci_iounmap(pdev, tw_dev->base_addr);
 
        /* Free up the mem region */
        pci_release_regions(pdev);
-- 
2.14.1

Reply via email to