• Michal Januszewski's avatar
    [PATCH] fbdev: update info->cmap when setting cmap from user-/kernelspace. · 03e259a9
    Michal Januszewski authored
    The fb_info struct, as defined in include/linux/fb.h, contains an element
    that is supposed to hold the current color map:
      struct fb_cmap cmap;            /* Current cmap */
    
    This cmap is currently never updated when either fb_set_cmap() or
    fb_set_user_cmap() are called.  As a result, info->cmap contains the
    default cmap that was set by a device driver/fbcon and a userspace
    application using the FBIOGETCMAP ioctl will not always get the *currently*
    used color map.
    
    The patch fixes this by making sure the cmap is copied to info->cmap after
    it is set correctly.  It moves most of the code that is responsible for
    setting the cmap to fb_set_cmap() and out of fb_set_user_cmap() to avoid
    code-duplication.
    Signed-off-by: default avatarMichal Januszewski <spock@gentoo.org>
    Cc: <linux-fbdev-devel@lists.sourceforge.net>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    03e259a9
fbcmap.c 7.76 KB