From: Dave Airlie Date: Mon, 25 Jun 2012 06:32:14 +0000 (+0100) Subject: drm/udl: Make sure to get correct endian keys from vendor descriptor X-Git-Tag: v3.5-rc5~24^2~1 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=d42f0349f3fed647c61c2d432e974bbdafcfb3fb;p=~emulex%2Finfiniband.git drm/udl: Make sure to get correct endian keys from vendor descriptor This is a port of commit b49f184b640dcfab7ede394cf2a1ff4fe3d154f5 Author: Ben Collins from udlfb to udl kms driver. 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: Dave Airlie --- diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c index a8d5f09428c..4c2d836a089 100644 --- a/drivers/gpu/drm/udl/udl_main.c +++ b/drivers/gpu/drm/udl/udl_main.c @@ -61,7 +61,7 @@ static int udl_parse_vendor_descriptor(struct drm_device *dev, u8 length; u16 key; - key = *((u16 *) desc); + key = le16_to_cpu(*((u16 *) desc)); desc += sizeof(u16); length = *desc; desc++;