Re: [PATCH] fbcon: warn on invalid cursor blink intervals
flat view
From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Date: 2016-05-28 11:45:22
Also in:
dri-devel, lkml, stable
On Thu, 19 May 2016, Scot Doyle wrote:
Two systems are locking on boot [1] because ops->cur_blink_jiffies is set to zero from vc->vc_cur_blink_ms. Ignore such invalid intervals and log a warning. [1] https://bugs.launchpad.net/bugs/1574814 Suggested-by: David Daney <redacted> Signed-off-by: Scot Doyle <redacted> Cc: <redacted> [v4.2]
FWIW: Tested-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> on top of 4.4.11. And nothing caused it to issue warnings here, so far (with the other recommended patch applied first).
quoted hunk ↗ jump to hunk
--- drivers/video/console/fbcon.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 6e92917..fad5b89 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c@@ -1095,7 +1095,13 @@ static void fbcon_init(struct vc_data *vc, int init) con_copy_unimap(vc, svc); ops = info->fbcon_par; - ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms); + + if (vc->vc_cur_blink_ms >= 50) + ops->cur_blink_jiffies > + msecs_to_jiffies(vc->vc_cur_blink_ms); + else + WARN_ONCE(1, "blink interval < 50 ms"); + p->con_rotate = initial_rotation; set_blitting_type(vc, info);@@ -1309,7 +1315,11 @@ static void fbcon_cursor(struct vc_data *vc, int mode) int y; int c = scr_readw((u16 *) vc->vc_pos); - ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms); + if (vc->vc_cur_blink_ms >= 50) + ops->cur_blink_jiffies > + msecs_to_jiffies(vc->vc_cur_blink_ms); + else + WARN_ONCE(1, "blink interval < 50 ms"); if (fbcon_is_inactive(vc, info) || vc->vc_deccm != 1) return;
-- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh