From: Amol Lad ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: James Bottomley Cc: Alan Cox Signed-off-by: Andrew Morton --- drivers/scsi/ncr53c8xx.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN drivers/scsi/ncr53c8xx.c~ioremap-balanced-with-iounmap-drivers-scsi-ncr53c8xxc drivers/scsi/ncr53c8xx.c --- a/drivers/scsi/ncr53c8xx.c~ioremap-balanced-with-iounmap-drivers-scsi-ncr53c8xxc +++ a/drivers/scsi/ncr53c8xx.c @@ -8563,6 +8563,8 @@ struct Scsi_Host * __init ncr_attach(str m_free_dma(np->script0, sizeof(struct script), "SCRIPT"); if (np->ccb) m_free_dma(np->ccb, sizeof(struct ccb), "CCB"); + if (!device->slot.base_v && np->vaddr) + iounmap(np->vaddr); m_free_dma(np, sizeof(struct ncb), "NCB"); host_data->ncb = NULL; _