aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/console/fbcon.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index 050856e09e87..9e3ff00e4c14 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -396,9 +396,8 @@ static void fb_flashcursor(void *private)
396 vc = vc_cons[ops->currcon].d; 396 vc = vc_cons[ops->currcon].d;
397 397
398 if (!vc || !CON_IS_VISIBLE(vc) || 398 if (!vc || !CON_IS_VISIBLE(vc) ||
399 fbcon_is_inactive(vc, info) ||
400 registered_fb[con2fb_map[vc->vc_num]] != info || 399 registered_fb[con2fb_map[vc->vc_num]] != info ||
401 vc_cons[ops->currcon].d->vc_deccm != 1) { 400 vc->vc_deccm != 1) {
402 release_console_sem(); 401 release_console_sem();
403 return; 402 return;
404 } 403 }
@@ -2166,7 +2165,12 @@ static int fbcon_switch(struct vc_data *vc)
2166 fbcon_del_cursor_timer(old_info); 2165 fbcon_del_cursor_timer(old_info);
2167 } 2166 }
2168 2167
2169 fbcon_add_cursor_timer(info); 2168 if (fbcon_is_inactive(vc, info) ||
2169 ops->blank_state != FB_BLANK_UNBLANK)
2170 fbcon_del_cursor_timer(info);
2171 else
2172 fbcon_add_cursor_timer(info);
2173
2170 set_blitting_type(vc, info); 2174 set_blitting_type(vc, info);
2171 ops->cursor_reset = 1; 2175 ops->cursor_reset = 1;
2172 2176
@@ -2276,10 +2280,11 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)
2276 update_screen(vc); 2280 update_screen(vc);
2277 } 2281 }
2278 2282
2279 if (!blank) 2283 if (fbcon_is_inactive(vc, info) ||
2280 fbcon_add_cursor_timer(info); 2284 ops->blank_state != FB_BLANK_UNBLANK)
2281 else
2282 fbcon_del_cursor_timer(info); 2285 fbcon_del_cursor_timer(info);
2286 else
2287 fbcon_add_cursor_timer(info);
2283 2288
2284 return 0; 2289 return 0;
2285} 2290}