2012/11/9 Rahul Sharma <rahul.sharma@xxxxxxxxxxx>
Remove base and head,
And declare them here.
Thanks,
Inki Dae
This patch is to preserve the display mode header during the mode adjustment.
Display mode header is overwritten with the adjusted mode header which is
throwing the stack dump.
Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx>
---
drivers/gpu/drm/exynos/exynos_hdmi.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index ee110c9..c7844ea 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1974,6 +1974,8 @@ static void hdmi_mode_fixup(void *ctx, struct drm_connector *connector,
{
struct drm_display_mode *m;
struct hdmi_context *hdata = ctx;
+ struct drm_mode_object base;
+ struct list_head head;
Remove base and head,
int index;
DRM_DEBUG_KMS("[%d] %s\n", __LINE__, __func__);
@@ -2002,7 +2004,13 @@ static void hdmi_mode_fixup(void *ctx, struct drm_connector *connector,
if (index >= 0) {
And declare them here.
Thanks,
Inki Dae
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;
}
}
--
1.7.0.4
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel