| From bec05f33ebc1006899c6d3e59a00c58881fe7626 Mon Sep 17 00:00:00 2001 |
| From: Sven Schnelle <svens@stackframe.org> |
| Date: Sun, 14 Nov 2021 17:08:17 +0100 |
| Subject: parisc/sticon: fix reverse colors |
| |
| From: Sven Schnelle <svens@stackframe.org> |
| |
| commit bec05f33ebc1006899c6d3e59a00c58881fe7626 upstream. |
| |
| sticon_build_attr() checked the reverse argument and flipped |
| background and foreground color, but returned the non-reverse |
| value afterwards. Fix this and also add two local variables |
| for foreground and background color to make the code easier |
| to read. |
| |
| Signed-off-by: Sven Schnelle <svens@stackframe.org> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Helge Deller <deller@gmx.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/video/console/sticon.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/video/console/sticon.c |
| +++ b/drivers/video/console/sticon.c |
| @@ -291,13 +291,13 @@ static unsigned long sticon_getxy(struct |
| static u8 sticon_build_attr(struct vc_data *conp, u8 color, u8 intens, |
| u8 blink, u8 underline, u8 reverse, u8 italic) |
| { |
| - u8 attr = ((color & 0x70) >> 1) | ((color & 7)); |
| + u8 fg = color & 7; |
| + u8 bg = (color & 0x70) >> 4; |
| |
| - if (reverse) { |
| - color = ((color >> 3) & 0x7) | ((color & 0x7) << 3); |
| - } |
| - |
| - return attr; |
| + if (reverse) |
| + return (fg << 3) | bg; |
| + else |
| + return (bg << 3) | fg; |
| } |
| |
| static void sticon_invert_region(struct vc_data *conp, u16 *p, int count) |