Re: [PATCH] fbcon: use default if cursor blink interval is not valid
From: Scot Doyle <hidden>
Date: 2016-05-19 22:26:10
Also in:
dri-devel, lkml, stable
On Thu, 19 May 2016, David Daney wrote:
On 05/18/2016 09:21 PM, Scot Doyle wrote:quoted
Two current [1] and three previous [2] systems locked during boot because the cursor flash timer was set using an ops->cur_blink_jiffies value of 0. Previous patches attempted to solve the problem by moving variable initialization earlier in the setup sequence [2]. Use the normal cursor blink default interval of 200 ms if ops->cur_blink_jiffies is not in the range specified in commit bd63364caa8d. Since invalid values are not used, specific system initialization timings should not cause lockups.This patch just papers over the problem that you yourself introduced in commit bd63364caa8d ("vt: add cursor blink interval escape sequence"). As you know, I have a patch that fixes the problem at the source: https://lkml.org/lkml/2016/5/17/455 I don't like the idea of silently ignoring bad values passed in from other code (drivers/tty/vt/vt.c), and much less doing the check for bad values each time the timer expires rather than just once, where the bad value is first introduced. I think it would be preferable to WARN() at the site the bad value is introduced, so that we can easily find the real source of the problem. Initialize cur_blink_jiffies to a sane default value, then if something attempts to set it to a value that would cause soft lockup, WARN and refuse to change it.
I agree this approach would be cleaner and am willing to give it a try by submitting an alternative patch and ack'ing yours. Thanks for taking the time to critique my proposal.