Re: [PATCH] fbdev: Fix usage of blank value passed to fb_blank
flat view
From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2006-01-29 23:34:58
Also in:
lkml
Ville Syrjälä wrote:
On Sun, Jan 29, 2006 at 10:18:19AM +0800, Antonino A. Daplas wrote:quoted
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index d2dede6..5bed0fb 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c@@ -843,6 +843,19 @@ fb_blank(struct fb_info *info, int blank { int ret = -EINVAL; + /* + * The framebuffer core supports 5 blanking levels (FB_BLANK), whereas + * VESA defined only 4. The extra level, FB_BLANK_NORMAL, is a + * console invention and is not related to power management. + * Unfortunately, fb_blank callers, especially X, pass VESA constants + * leading to undefined behavior.Since when? X.Org uses numbers 0,2,3,4 which match the FB_BLANK constants not the VESA constants.
How about if we silently convert FB_BLANK_NORMAL requests to FB_BLANK_VSYNC_SUSPEND, would that work? Tony PS: Soft blanking is very difficult, if not impossible, to implement correctly kernel-side, so we can either fail (current code), silently fail but return success, or convert to the next blank level. ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642