• Antonino A. Daplas's avatar
    [PATCH] intelfb/fbdev: Save info->flags in a local variable · 3edea483
    Antonino A. Daplas authored
    Reported by: Pavel Kysilka (Bugzilla Bug 5059)
    
    The intelfb driver does not keep resolution set with fbset after
    switching to anot console and back.
    
    Steps to reproduce:
    
      initial options: tty1,tty2 - 1024x768-60
      1) tty1 - fbset after booting (1024x768-60)
      2) tty1 - fbset 800x600-100
      tty1: 800x600-100
      3) swith to tty2, swith to tty1
      tty1: 1024x768-60 (the same resolution as default from kernel booting)
    
    This bug is caused by intelfb unintentionally destroying info->flags in
    set_par(). Therefore the flag, FBINFO_MISC_USEREVENT used to notify
    fbcon of a mode change was cleared causing the above problem. This bug
    though is not intelfb specific, as other drivers may also be affected.
    
    The fix is to save info->flags in a local variable before calling any
    of the driver hooks.  A more definitive fix (for post 2.6.13) is to
    separate info->flags into one that is set by the driver and another that
    is set by core fbdev/fbcon.
    Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    3edea483
fbmem.c 31.8 KB