From 71d7d8f486173c33e1832860c180515f9a8e5134 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Thu, 3 Mar 2011 19:31:05 +0800 Subject: [PATCH] rk29: backlight: fix kernel BUG by double add_timer while fast suspend/resume fix this bug: kernel BUG at kernel/timer.c:791! Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0404000 [00000000] *pgd=00000000 Internal error: Oops: 817 [#1] PREEMPT last sysfs file: /sys/devices/platform/rk29_i2c.0/i2c-0/0-0055/power_supply/bq27510-battery/status Modules linked in: wlan CPU: 0 Not tainted (2.6.32.27 #2) PC is at __bug+0x18/0x24 LR is at __bug+0x14/0x24 [] (__bug+0x18/0x24) from [] (add_timer+0x1c/0x2c) [] (add_timer+0x1c/0x2c) from [] (late_resume+0x104/0x158) [] (late_resume+0x104/0x158) from [] (worker_thread+0x180/0x22c) [] (worker_thread+0x180/0x22c) from [] (kthread+0x78/0x80) [] (kthread+0x78/0x80) from [] (kernel_thread_exit+0x0/0x8) --- drivers/video/backlight/rk29_backlight.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/backlight/rk29_backlight.c b/drivers/video/backlight/rk29_backlight.c index ecb362ee57b4..86b25cde8798 100644 --- a/drivers/video/backlight/rk29_backlight.c +++ b/drivers/video/backlight/rk29_backlight.c @@ -201,6 +201,7 @@ static void rk29_bl_suspend(struct early_suspend *h) clk_disable(pwm_clk); suspend_flag = 1; + del_timer_sync(&rk29_bl_info->timer); } -- 2.34.1