|
@@ -1979,9 +1979,18 @@ static void hdmi_mode_fixup(void *ctx, struct drm_connector *connector,
|
|
|
index = hdmi_v14_conf_index(m);
|
|
|
|
|
|
if (index >= 0) {
|
|
|
+ struct drm_mode_object base;
|
|
|
+ struct list_head head;
|
|
|
+
|
|
|
DRM_INFO("desired mode doesn't exist so\n");
|
|
|
DRM_INFO("use the most suitable mode among modes.\n");
|
|
|
+
|
|
|
+ /* preserve display mode header while copying. */
|
|
|
+ head = adjusted_mode->head;
|
|
|
+ base = adjusted_mode->base;
|
|
|
memcpy(adjusted_mode, m, sizeof(*m));
|
|
|
+ adjusted_mode->head = head;
|
|
|
+ adjusted_mode->base = base;
|
|
|
break;
|
|
|
}
|
|
|
}
|