• Antonino Daplas's avatar
    [PATCH] fbcon unimap fix · 7fa82794
    Antonino Daplas authored
    fbcon doesn't set a unimap at boot time, so special characters come out
    wrongly.
    
    This is the code sequence in take_over_console().
    
    newcon->startup()
    oldcon->deinit()
    newcon->init()
    
    The previous console driver (ie, vgacon), via its deinit method, may release
    the unimap allocated by fbcon in fbcon_startup. This is the reason why
    calling con_set_default_unimap() in fbcon_init() works, but not in
    fbcon_startup().
    
    
    Check if the default display has an allocated unimap, and if it has none,
    call con_set_default_unimap().  And if the target display has no allocated
    unimap, then call con_copy_unimap(), where the source unimap is from the
    default display.
    Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    7fa82794
fbcon.c 69 KB