Browse Source

drm/edid: Add packed attribute to new gtf2 and cvt structs

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>
Takashi Iwai 13 years ago
parent
commit
8353e6c632
1 changed files with 2 additions and 2 deletions
  1. 2 2
      include/drm/drm_edid.h

+ 2 - 2
include/drm/drm_edid.h

@@ -99,7 +99,7 @@ struct detailed_data_monitor_range {
 			__le16 m;
 			__le16 m;
 			u8 k;
 			u8 k;
 			u8 j; /* need to divide by 2 */
 			u8 j; /* need to divide by 2 */
-		} gtf2;
+		} __attribute__((packed)) gtf2;
 		struct {
 		struct {
 			u8 version;
 			u8 version;
 			u8 data1; /* high 6 bits: extra clock resolution */
 			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 flags; /* preferred aspect and blanking support */
 			u8 supported_scalings;
 			u8 supported_scalings;
 			u8 preferred_refresh;
 			u8 preferred_refresh;
-		} cvt;
+		} __attribute__((packed)) cvt;
 	} formula;
 	} formula;
 } __attribute__((packed));
 } __attribute__((packed));