From 1572f91cffd7c0d64ab4e0cec71e1d2d1a3349e1 Mon Sep 17 00:00:00 2001 From: Bernie Thompson Date: Sun, 5 Sep 2010 16:35:27 -0700 Subject: [PATCH] staging: udlfb: fix big endian rendering error Fix big endian rendering bug (affects PowerPC) Thanks to Christian Melki at Ericsson for finding and suggesting patch. Signed-off-by: Bernie Thompson Signed-off-by: Greg Kroah-Hartman --- drivers/staging/udlfb/udlfb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/udlfb/udlfb.c b/drivers/staging/udlfb/udlfb.c index 6977b71e8c3c..bcb4a1e9e713 100644 --- a/drivers/staging/udlfb/udlfb.c +++ b/drivers/staging/udlfb/udlfb.c @@ -414,15 +414,14 @@ static void dlfb_compress_hline( uint8_t *cmd_pixels_count_byte = 0; const uint16_t *raw_pixel_start = 0; const uint16_t *cmd_pixel_start, *cmd_pixel_end = 0; - const uint32_t be_dev_addr = cpu_to_be32(dev_addr); prefetchw((void *) cmd); /* pull in one cache line at least */ *cmd++ = 0xAF; *cmd++ = 0x6B; - *cmd++ = (uint8_t) ((be_dev_addr >> 8) & 0xFF); - *cmd++ = (uint8_t) ((be_dev_addr >> 16) & 0xFF); - *cmd++ = (uint8_t) ((be_dev_addr >> 24) & 0xFF); + *cmd++ = (uint8_t) ((dev_addr >> 16) & 0xFF); + *cmd++ = (uint8_t) ((dev_addr >> 8) & 0xFF); + *cmd++ = (uint8_t) ((dev_addr) & 0xFF); cmd_pixels_count_byte = cmd++; /* we'll know this later */ cmd_pixel_start = pixel; -- 2.20.1