summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Collins <bcollins@ubuntu.com>2012-03-03 12:43:27 -0800
committerBernie Thompson <bernie@plugable.com>2012-03-03 12:43:27 -0800
commitb49f184b640dcfab7ede394cf2a1ff4fe3d154f5 (patch)
tree5543de4e4aa5962ac003c8ab969b1382b24f07d1
parent8d21547d3c9c3bc653261f26d554cfabc4a083de (diff)
downloadlinux-b49f184b640dcfab7ede394cf2a1ff4fe3d154f5.tar.gz
udlfb: Make sure to get correct endian keys from vendor descriptor
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 would result in a blank screen
on big-endian CPUs where the DL chips's max mode was smaller than the
monitor's native mode.

Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Bernie Thompson <bernie@plugable.com>
-rw-r--r--drivers/video/udlfb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
index cbf030d0dfc4..4330cf4b17a3 100644
--- a/drivers/video/udlfb.c
+++ b/drivers/video/udlfb.c
@@ -1541,7 +1541,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++;