[PATCH] fbcon: dont call set_par() in fbcon_init() if vc_mode == KD_GRAPHICS
Nothing prevents a user to modprobe a framebuffer driver from e.g. the xterm prompt. As a result, the set_par() function of the driver will be called from fbcon_init(). This is fatal as a lot of X / framebuffer combinations are unable to recover from set_par() reprogramming the graphics controller in KD_GRAPHICS mode. It is also unnecessary as the set_par() function will be called during a switch to KD_TEXT anyway. Because of this no side effects are possible. Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f9a204e1de
commit
d354d9afe9
|
@ -1110,7 +1110,7 @@ static void fbcon_init(struct vc_data *vc, int init)
|
||||||
*
|
*
|
||||||
* We need to do it in fbcon_init() to prevent screen corruption.
|
* We need to do it in fbcon_init() to prevent screen corruption.
|
||||||
*/
|
*/
|
||||||
if (CON_IS_VISIBLE(vc)) {
|
if (CON_IS_VISIBLE(vc) && vc->vc_mode == KD_TEXT) {
|
||||||
if (info->fbops->fb_set_par &&
|
if (info->fbops->fb_set_par &&
|
||||||
!(ops->flags & FBCON_FLAGS_INIT))
|
!(ops->flags & FBCON_FLAGS_INIT))
|
||||||
info->fbops->fb_set_par(info);
|
info->fbops->fb_set_par(info);
|
||||||
|
|
Reference in New Issue