From f67fa35eb042586f69a56d89fbf8f6498681c352 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Tue, 7 Sep 2010 18:35:52 +0800 Subject: [PATCH] rk2818_fb: fix memory leak --- drivers/video/rk2818_fb.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/video/rk2818_fb.c b/drivers/video/rk2818_fb.c index 21d79349177c..9c2f008bbba6 100755 --- a/drivers/video/rk2818_fb.c +++ b/drivers/video/rk2818_fb.c @@ -2114,7 +2114,6 @@ static int __init rk2818fb_probe (struct platform_device *pdev) struct rk2818fb_inf *inf = NULL; struct resource *res = NULL; struct resource *mem = NULL; - struct rk2818_fb_setting_info *fb_setting = NULL; struct rk2818fb_info *mach_info = NULL; struct rk28fb_screen *screen = NULL; int irq = 0; @@ -2339,28 +2338,28 @@ static int __init rk2818fb_probe (struct platform_device *pdev) if(mach_info) { - fb_setting = kmalloc(sizeof(struct rk2818_fb_setting_info), GFP_KERNEL); + struct rk2818_fb_setting_info fb_setting; if( OUT_P888==inf->lcd_info.face || OUT_P888==inf->tv_info[0].face || OUT_P888==inf->hdmi_info[0].face ) // set lcdc iomux { - fb_setting->data_num = 24; + fb_setting.data_num = 24; } else if(OUT_P666 == inf->lcd_info.face ) { - fb_setting->data_num = 18; + fb_setting.data_num = 18; } else { - fb_setting->data_num = 16; + fb_setting.data_num = 16; } - fb_setting->den_en = 1; - fb_setting->vsync_en = 1; - fb_setting->disp_on_en = 1; - fb_setting->standby_en = 1; + fb_setting.den_en = 1; + fb_setting.vsync_en = 1; + fb_setting.disp_on_en = 1; + fb_setting.standby_en = 1; if( inf->lcd_info.mcu_usefmk ) - fb_setting->mcu_fmk_en =1; - mach_info->io_init(fb_setting); + fb_setting.mcu_fmk_en =1; + mach_info->io_init(&fb_setting); } set_lcd_pin(pdev, 1); -- 2.34.1