rtc: HYM8563: fix probe error handling by destroy wake lock
author黄涛 <huangtao@rock-chips.com>
Mon, 18 Mar 2013 07:14:13 +0000 (15:14 +0800)
committer黄涛 <huangtao@rock-chips.com>
Mon, 18 Mar 2013 07:29:17 +0000 (15:29 +0800)
commit940efe7e52483362ab545f0ee619d2c691ba892b
treecaf715fb68fa3f4755d5c45d7a41977ddc8fec48
parentd02a97f84a3ee96ae4be7c7131bc8326159f7baf
rtc: HYM8563: fix probe error handling by destroy wake lock

fix this bug:
 Unable to handle kernel paging request at virtual address 00020008
 pgd = d3e60000
 [00020008] *pgd=00000000
 Internal error: Oops: 5 [#1] PREEMPT SMP
 CPU: 1    Tainted: G         C   (3.0.36+ #6)
 PC is at print_lock_stat+0x1c/0x1b8
 LR is at wakelock_stats_show+0x3c/0xa4

or this bug:
 WARNING: at lib/list_debug.c:26 __list_add+0x60/0x90()
 list_add corruption. next->prev should be prev (c0ae4468), but was 05900000. (next=d89bb060).
 [<c043ece0>] (unwind_backtrace+0x0/0xfc) from [<c046dacc>] (warn_slowpath_common+0x4c/0x64)
 [<c046dacc>] (warn_slowpath_common+0x4c/0x64) from [<c046db78>] (warn_slowpath_fmt+0x30/0x40)
 [<c046db78>] (warn_slowpath_fmt+0x30/0x40) from [<c060554c>] (__list_add+0x60/0x90)
 [<c060554c>] (__list_add+0x60/0x90) from [<c04a6140>] (wake_lock_init+0x8c/0xe4)
 [<c04a6140>] (wake_lock_init+0x8c/0xe4) from [<c071bda0>] (power_supply_register+0xd8/0x100)
 [<c071bda0>] (power_supply_register+0xd8/0x100) from [<c041e5d8>] (test_power_init+0x18/0x7c)
 [<c041e5d8>] (test_power_init+0x18/0x7c) from [<c04335d0>] (do_one_initcall+0x34/0x17c)
 [<c04335d0>] (do_one_initcall+0x34/0x17c) from [<c0408370>] (kernel_init+0x98/0x144)
 [<c0408370>] (kernel_init+0x98/0x144) from [<c0439f64>] (kernel_thread_exit+0x0/0x8)
drivers/rtc/rtc-HYM8563.c