From: Amol Lad <amol@xxxxxxxxxxxxxxxxxxx> ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad <amol@xxxxxxxxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxx> Cc: adam radford <aradford@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/scsi/3w-9xxx.c | 5 +++++ 1 files changed, 5 insertions(+) diff -puN drivers/scsi/3w-9xxx.c~ioremap-balanced-with-iounmap-drivers-scsi-3w-9xxxc drivers/scsi/3w-9xxx.c --- a/drivers/scsi/3w-9xxx.c~ioremap-balanced-with-iounmap-drivers-scsi-3w-9xxxc +++ a/drivers/scsi/3w-9xxx.c @@ -2147,6 +2147,8 @@ out_remove_host: scsi_remove_host(host); out_release_mem_region: pci_release_regions(pdev); + if (tw_dev->base_addr) + iounmap(tw_dev->base_addr); out_free_device_extension: twa_free_device_extension(tw_dev); scsi_host_put(host); @@ -2173,6 +2175,9 @@ static void twa_remove(struct pci_dev *p /* Free up the IRQ */ free_irq(tw_dev->tw_pci_dev->irq, tw_dev); + /* Free IO mem */ + iounmap(tw_dev->base_addr); + /* Shutdown the card */ __twa_shutdown(tw_dev); _ - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html