[PATCH] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Amol Lad 2006-12-06 20:35:19 -08:00 committed by Linus Torvalds
parent 238b8721a5
commit 8684265412

View file

@ -1026,6 +1026,7 @@ static int __init rio_init(void)
found++;
} else {
iounmap(p->RIOHosts[p->RIONumHosts].Caddr);
p->RIOHosts[p->RIONumHosts].Caddr = NULL;
}
}
@ -1078,6 +1079,7 @@ static int __init rio_init(void)
found++;
} else {
iounmap(p->RIOHosts[p->RIONumHosts].Caddr);
p->RIOHosts[p->RIONumHosts].Caddr = NULL;
}
#else
printk(KERN_ERR "Found an older RIO PCI card, but the driver is not " "compiled to support it.\n");
@ -1117,8 +1119,10 @@ static int __init rio_init(void)
}
}
if (!okboard)
if (!okboard) {
iounmap(hp->Caddr);
hp->Caddr = NULL;
}
}
}
@ -1188,6 +1192,8 @@ static void __exit rio_exit(void)
}
/* It is safe/allowed to del_timer a non-active timer */
del_timer(&hp->timer);
if (hp->Caddr)
iounmap(hp->Caddr);
if (hp->Type == RIO_PCI)
pci_dev_put(hp->pdev);
}