summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Palminha <CARLOS.PALMINHA@synopsys.com>2016-02-10 12:15:22 +0000
committerDaniel Vetter <daniel.vetter@ffwll.ch>2016-02-11 09:23:54 +0100
commit3c5b267314ff00b4a9536769cc1aafc71384e559 (patch)
tree4b1864c71dd32d3336eb46c7a6d44ae40b381d4e
parent71dfb744bd9e11e765036f8096d7c2c6c19d2b0f (diff)
downloadblackbird-obmc-linux-3c5b267314ff00b4a9536769cc1aafc71384e559.tar.gz
blackbird-obmc-linux-3c5b267314ff00b4a9536769cc1aafc71384e559.zip
drm: fixes crct set_mode when encoder mode_fixup is null.
Avoids null crash when encoders don't implement mode_fixup. Signed-off-by: Carlos Palminha <palminha@synopsys.com> [danvet: Also update kerneldoc.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1455106522-32307-1-git-send-email-palminha@synopsys.com
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c10
-rw-r--r--include/drm/drm_modeset_helper_vtables.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index 9f8b894f4480..df6a12de208b 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -337,10 +337,12 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
}
encoder_funcs = encoder->helper_private;
- if (!(ret = encoder_funcs->mode_fixup(encoder, mode,
- adjusted_mode))) {
- DRM_DEBUG_KMS("Encoder fixup failed\n");
- goto done;
+ if (encoder_funcs->mode_fixup) {
+ if (!(ret = encoder_funcs->mode_fixup(encoder, mode,
+ adjusted_mode))) {
+ DRM_DEBUG_KMS("Encoder fixup failed\n");
+ goto done;
+ }
}
}
diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
index a126a0d7aed4..b61c2d45192e 100644
--- a/include/drm/drm_modeset_helper_vtables.h
+++ b/include/drm/drm_modeset_helper_vtables.h
@@ -439,7 +439,7 @@ struct drm_encoder_helper_funcs {
* can be modified by this callback and does not need to match mode.
*
* This function is used by both legacy CRTC helpers and atomic helpers.
- * With atomic helpers it is optional.
+ * This hook is optional.
*
* NOTE:
*
OpenPOWER on IntegriCloud