[RFT: 2.6 patch] fix text console corruptions

From: Adrian Bunk
Date: Wed Jul 30 2008 - 10:07:58 EST


On Tue, Jul 29, 2008 at 05:03:47PM -0700, Tim Bird wrote:
> Marco Berizzi wrote:
> > alistair@xxxxxxxxxxxxx wrote:
> >
> >> You don't actually say whether you had CONFIG_CONSOLE_TRANSLATIONS=y or not?
> >
> > yes console_translation is set to yes. It cannot be changed if embedded is not
> > set.
>
> If console_translation is set to yes, the behavior should be unchanged from
> 2.6.26.
>...

Your commit contains a change that breaks due to | having a higher
precedence than ?: in C.

Untested patch below, can anyone who ran into this bug confirm that
it fixes it?

> Thanks,
> -- Tim

cu
Adrian


<-- snip -->


This patch fixes text console corruptions caused by
commit a29ccf6f823a84d89e1c7aaaf221cf7282022024
(Make console charset translation optional).

Reported-by: Marco Berizzi <pupilla@xxxxxxxxxxx>
Signed-off-by: Adrian Bunk <adrian.bunk@xxxxxxxxx>

---
cab22ec7afdc4c08a10ef9730b0ae2848754532c
diff --git a/include/linux/vt_kern.h b/include/linux/vt_kern.h
index 14c0e91..8c8119f 100644
--- a/include/linux/vt_kern.h
+++ b/include/linux/vt_kern.h
@@ -74,7 +74,7 @@ void con_protect_unimap(struct vc_data *vc, int rdonly);
int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc);

#define vc_translate(vc, c) ((vc)->vc_translate[(c) | \
- (vc)->vc_toggle_meta ? 0x80 : 0])
+ ((vc)->vc_toggle_meta ? 0x80 : 0)])
#else
#define con_set_trans_old(arg) (0)
#define con_get_trans_old(arg) (-EINVAL)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/