UDLFB: Make sure to get correct endian keys from vendor descriptor

From: Ben Collins
Date: Thu Feb 16 2012 - 16:58:14 EST


The driver was not using le16_to_cpu when reading keys from the vendor
descriptor, causing incorrect parsing. Mainly, sku_pixel_limit was not
being parsed on big-endian systems. This left udlfb most certainly
broken on low level chips as the driver allows modes that are too
high for the chip by default.

Signed-off-by: Ben Collins <bcollins@xxxxxxxxxx>

diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
index a197731..0319593 100644
--- a/drivers/video/udlfb.c
+++ b/drivers/video/udlfb.c
@@ -1537,7 +1537,7 @@ static int dlfb_parse_vendor_descriptor(struct dlfb_data *dev,
u8 length;
u16 key;

- key = *((u16 *) desc);
+ key = le16_to_cpu(*((u16 *) desc));
desc += sizeof(u16);
length = *desc;
desc++;

--
Bluecherry: http://www.bluecherrydvr.com/
SwissDisk : http://www.swissdisk.com/
Ubuntu : http://www.ubuntu.com/
My Blog : http://ben-collins.blogspot.com/

--
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/