@@ -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);
'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.jaillet@wanadoo.fr> --- drivers/scsi/3w-sas.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)