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: "Antonino A. Daplas" Signed-off-by: Andrew Morton --- drivers/video/S3triofb.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff -puN drivers/video/S3triofb.c~ioremap-balanced-with-iounmap-for-drivers-video-S3triofb drivers/video/S3triofb.c --- a/drivers/video/S3triofb.c~ioremap-balanced-with-iounmap-for-drivers-video-S3triofb +++ a/drivers/video/S3triofb.c @@ -535,8 +535,11 @@ static void __init s3triofb_of_init(stru #endif fb_info.flags = FBINFO_FLAG_DEFAULT; - if (register_framebuffer(&fb_info) < 0) - return; + if (register_framebuffer(&fb_info) < 0) { + iounmap(fb_info.screen_base); + fb_info.screen_base = NULL; + return; + } printk("fb%d: S3 Trio frame buffer device on %s\n", fb_info.node, dp->full_name); _