I am using linux 22.214.171.124 configured for ARM in my embedded platform and things are working fine.
one of my task is to turn off lcd controller and backlight when the key is not pressed for 1 minute. our key board driver is polling for 30ms. From keyboard timeout routine I initialized workqueue which calls do_screen_blank API defined in vt.c, but system crashes and below is the message.
can anyone let me know, what went wrong.
Badness in do_blank_screen at drivers/char/vt.c:2805
[<c002aa3c>] (dump_stack+0x0/0x14) from [<c01369f0>] (do_blank_screen+0x54/0x2cc)
[<c013699c>] (do_blank_screen+0x0/0x2cc) from [<c0035c08>] (screenblank+0x1c/0x2c)
r5 = C04AD960 r4 = C034DF9C
[<c0035bec>] (screenblank+0x0/0x2c) from [<c00503f4>] (worker_thread+0x1d4/0x268)
[<c0050220>] (worker_thread+0x0/0x268) from [<c0054fe4>] (kthread+0x8c/0xb8)
[<c0054f58>] (kthread+0x0/0xb8) from [<c0043960>] (do_exit+0x0/0x3b0)
r7 = 00000000 r6 = 00000000 r5 = 00000000 r4 = 00000000