drm/edid: Add packed attribute to new gtf2 and cvt structs
authorTakashi Iwai <tiwai@suse.de>
Mon, 23 Apr 2012 16:40:49 +0000 (17:40 +0100)
committerDave Airlie <airlied@redhat.com>
Mon, 23 Apr 2012 16:41:17 +0000 (17:41 +0100)
The new structs added in struct detailed_data_monitor_range must be
marked with packed attribute although the outer struct itself is
already marked as packed.  Otherwise these 7-bytes structs may be
aligned, and give the wrong position and size for the data.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
include/drm/drm_edid.h

index 8cefbbee996e606b98cfcc189fd34fc70e877b68..0cac551c5347d44f42904eaf17769fd82de61776 100644 (file)
@@ -99,7 +99,7 @@ struct detailed_data_monitor_range {
                        __le16 m;
                        u8 k;
                        u8 j; /* need to divide by 2 */
-               } gtf2;
+               } __attribute__((packed)) gtf2;
                struct {
                        u8 version;
                        u8 data1; /* high 6 bits: extra clock resolution */
@@ -108,7 +108,7 @@ struct detailed_data_monitor_range {
                        u8 flags; /* preferred aspect and blanking support */
                        u8 supported_scalings;
                        u8 preferred_refresh;
-               } cvt;
+               } __attribute__((packed)) cvt;
        } formula;
 } __attribute__((packed));