fbdev: Save the activate field before calling fb_check_var()
PATCH 34/41 fbdev: Save the activate field before calling fb_check_var()
Some drivers may reset the var->activate field on fb_check_var(). This can lead to undefined behavior. For example, doing fbset -a <option> with vga16fb will only modify the active console instead of modifying all.
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/fbmem.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/video/fbmem.c +3 -1
@@ -803,6 +803,8 @@ fb_set_var(struct fb_info *info, structif ((var->activate &FB_ACTIVATE_FORCE ) ||memcmp (&info->var, var,sizeof (struct fb_var_screeninfo ))) { +u32 activate = var->activate; +if (!info->fbops->fb_check_var) { *var = info->var;return 0 ;
@@ -831,7 +833,7 @@ fb_set_var(struct fb_info *info, structif (!err && (flags &FBINFO_MISC_USEREVENT )) {struct fb_event event; -int evnt = (var->activate &FB_ACTIVATE_ALL ) ? +int evnt = (activate &FB_ACTIVATE_ALL ) ?FB_EVENT_MODE_CHANGE_ALL :FB_EVENT_MODE_CHANGE ;
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/