This is caused by the vt visual_init() function calling into
fbcon_init() with a vc_cur_blink_ms value of zero. This is a
transient condition, as it is later set to a non-zero value. But, if
the timer happens to expire while the blink rate is zero, it goes into
an endless loop, and we get soft lockup.
The fix is to initialize vc_cur_blink_ms before calling the con_init()
function.
Tested-by: Ming Lei <email address hidden>
Acked-by: Pavel Machek <email address hidden>
Acked-by: Scot Doyle <email address hidden>
Signed-off-by: David Daney <email address hidden>
Cc: <email address hidden>
Reference: https://lkml.org/lkml/2016/5/17/455
Cc: Ming Lei <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>
@Radha If you are still seeing this bug, can you attach a console log?
Here's the commit that was added in xenial to address this:
commit 51b7d7350e526bd e77f458fb23481e 7c5d312d91
Author: David Daney <email address hidden>
Date: Tue May 24 12:55:54 2016 +0800
UBUNTU: SAUCE: tty: vt: Fix soft lockup in fbcon cursor blink timer.
BugLink: http:// bugs.launchpad. net/bugs/ 1574814
We are getting somewhat random soft lockups with this signature:
[ 86.992215] [<fffffc0008093 5e0>] el1_irq+0xa0/0x10c 22c>] cursor_ timer_handler+ 0x30/0x54 c44>] call_timer_ fn+0x54/ 0x1a8 f88>] run_timer_ softirq+ 0x1c4/0x2bc 77c>] __do_softirq+ 0x114/0x344 45c>] irq_exit+0x74/0x98 c20>] __handle_ domain_ irq+0x98/ 0xfc 56c>] gic_handle_ irq+0x94/ 0x190
[ 86.997082] [<fffffc0008418
[ 87.002991] [<fffffc000810e
[ 87.008378] [<fffffc000810e
[ 87.014200] [<fffffc0008090
[ 87.019590] [<fffffc00080af
[ 87.024458] [<fffffc00080fa
[ 87.030278] [<fffffc0008090
This is caused by the vt visual_init() function calling into
fbcon_init() with a vc_cur_blink_ms value of zero. This is a
transient condition, as it is later set to a non-zero value. But, if
the timer happens to expire while the blink rate is zero, it goes into
an endless loop, and we get soft lockup.
The fix is to initialize vc_cur_blink_ms before calling the con_init()
function.
Tested-by: Ming Lei <email address hidden> /lkml.org/ lkml/2016/ 5/17/455
Acked-by: Pavel Machek <email address hidden>
Acked-by: Scot Doyle <email address hidden>
Signed-off-by: David Daney <email address hidden>
Cc: <email address hidden>
Reference: https:/
Cc: Ming Lei <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>