Commit 08650869e0ec581f8d88cfdb563d37f5383abfe2
Committed by
Linus Torvalds
1 parent
550ac95879
fbcon: fix monochrome color value calculation
Commit 22af89aa0c0b4012a7431114a340efd3665a7617 ("fbcon: replace mono_col macro with static inline") changed the order of operations for computing monochrome color values. This generates 0xffff000f instead of 0x0000000f for a 4 bit monochrome color, leading to image corruption if it is passed to cfb_imageblit or other similar functions. Fix it up. Cc: Harvey Harrison <harvey.harrison@gmail.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Cc: <stable@kernel.org> [2.6.26.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff
drivers/video/console/fbcon.h
... | ... | @@ -110,7 +110,7 @@ |
110 | 110 | __u32 max_len; |
111 | 111 | max_len = max(info->var.green.length, info->var.red.length); |
112 | 112 | max_len = max(info->var.blue.length, max_len); |
113 | - return ~(0xfff << (max_len & 0xff)); | |
113 | + return (~(0xfff << max_len)) & 0xff; | |
114 | 114 | } |
115 | 115 | |
116 | 116 | static inline int attr_col_ec(int shift, struct vc_data *vc, |