diff options
Diffstat (limited to 'drivers/video/console/fbcon.c')
-rw-r--r-- | drivers/video/console/fbcon.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 2e471c22abf5..fdefa8fd72c4 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c | |||
@@ -372,8 +372,15 @@ static void fb_flashcursor(struct work_struct *work) | |||
372 | struct vc_data *vc = NULL; | 372 | struct vc_data *vc = NULL; |
373 | int c; | 373 | int c; |
374 | int mode; | 374 | int mode; |
375 | int ret; | ||
376 | |||
377 | /* FIXME: we should sort out the unbind locking instead */ | ||
378 | /* instead we just fail to flash the cursor if we can't get | ||
379 | * the lock instead of blocking fbcon deinit */ | ||
380 | ret = console_trylock(); | ||
381 | if (ret == 0) | ||
382 | return; | ||
375 | 383 | ||
376 | console_lock(); | ||
377 | if (ops && ops->currcon != -1) | 384 | if (ops && ops->currcon != -1) |
378 | vc = vc_cons[ops->currcon].d; | 385 | vc = vc_cons[ops->currcon].d; |
379 | 386 | ||
@@ -442,7 +449,7 @@ static int __init fb_console_setup(char *this_opt) | |||
442 | 449 | ||
443 | while ((options = strsep(&this_opt, ",")) != NULL) { | 450 | while ((options = strsep(&this_opt, ",")) != NULL) { |
444 | if (!strncmp(options, "font:", 5)) | 451 | if (!strncmp(options, "font:", 5)) |
445 | strcpy(fontname, options + 5); | 452 | strlcpy(fontname, options + 5, sizeof(fontname)); |
446 | 453 | ||
447 | if (!strncmp(options, "scrollback:", 11)) { | 454 | if (!strncmp(options, "scrollback:", 11)) { |
448 | options += 11; | 455 | options += 11; |