fbcon: Fix big-endian bogosity in slow_imageblit()
PATCH 7/7 fbcon: Fix big-endian bogosity in slow_imageblit()
The monochrome->color expansion routine that handles bitmaps which have (widths % 8) != 0 (slow_imageblit) produces corrupt characters in big-endian. This is caused by a bogus bit test in slow_imageblit().
Fix.
---
This patch may deserve to go to the stable tree. The code has already been well tested in little-endian machines. It's only in big-endian where there is uncertainty and Herbert confirmed that this is the correct way to go.
It should not introduce regressions.
Tony
drivers/video/cfbimgblt.c | 2 +- include/linux/fb.h | 2 -- 2 files changed, 1 insertions(+), 3 deletions(-)
drivers/video/cfbimgblt.c +1 -1
@@ -169,7 +169,7 @@ static inline void slow_imageblit(constwhile (j--) { l--; - color = (*s &1 << (FB_BIT_NR (l))) ? fgcolor : bgcolor; + color = (*s & (1 << l)) ? fgcolor : bgcolor; val |=FB_SHIFT_HIGH (color, shift);/* Did the bitshift spill bits to the next long? */
include/linux/fb.h +0 -2
@@ -839,12 +839,10 @@ struct fb_info {#define FB_LEFT_POS (bpp) (32 - bpp)#define FB_SHIFT_HIGH (val, bits) ((val) >> (bits))#define FB_SHIFT_LOW (val, bits) ((val) << (bits)) -#define FB_BIT_NR (b) (7 - (b))#else #define FB_LEFT_POS (bpp) (0)#define FB_SHIFT_HIGH (val, bits) ((val) << (bits))#define FB_SHIFT_LOW (val, bits) ((val) >> (bits)) -#define FB_BIT_NR (b) (b)#endif /*
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Greg KH
AppliedQuoted 3 lines · Antonino A. Daplas
The
monochrome->colorexpansion routine that handles bitmaps which have (widths % 8) != 0 (slow_imageblit) produces corrupt characters in big-endian. This is caused by a bogus bit test inslow_imageblit().
queued to -stable, thanks.
greg k-h
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642