[PATCH] ioremap balanced with iounmap for drivers/video/atafb
ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad <amol@verismonetworks.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b2a85aebf9
commit
6792951b6a
|
@ -2804,8 +2804,19 @@ int __init atafb_init(void)
|
||||||
atafb_set_disp(-1, &fb_info);
|
atafb_set_disp(-1, &fb_info);
|
||||||
do_install_cmap(0, &fb_info);
|
do_install_cmap(0, &fb_info);
|
||||||
|
|
||||||
if (register_framebuffer(&fb_info) < 0)
|
if (register_framebuffer(&fb_info) < 0) {
|
||||||
|
#ifdef ATAFB_EXT
|
||||||
|
if (external_addr) {
|
||||||
|
iounmap(external_addr);
|
||||||
|
external_addr = NULL;
|
||||||
|
}
|
||||||
|
if (external_vgaiobase) {
|
||||||
|
iounmap((void*)external_vgaiobase);
|
||||||
|
external_vgaiobase = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
printk("Determined %dx%d, depth %d\n",
|
printk("Determined %dx%d, depth %d\n",
|
||||||
disp.var.xres, disp.var.yres, disp.var.bits_per_pixel);
|
disp.var.xres, disp.var.yres, disp.var.bits_per_pixel);
|
||||||
|
|
Loading…
Reference in New Issue