diff --git a/drivers/video/S3triofb.c b/drivers/video/S3triofb.c index 397005eb392df2ff5e2044f54df3bb99cb029962..b3717c8f1bc2b474585b4c8afff35c6b7a2f1f2c 100644 --- a/drivers/video/S3triofb.c +++ b/drivers/video/S3triofb.c @@ -535,8 +535,11 @@ static void __init s3triofb_of_init(struct device_node *dp) #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);