drm/atomic: fix null pointer access to mode_fixup callback
authorInki Dae <inki.dae@samsung.com>
Tue, 11 Aug 2015 12:23:49 +0000 (21:23 +0900)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 11 Aug 2015 15:20:30 +0000 (17:20 +0200)
This patch fixes null pointer access incurred when
encoder driver didn't set its own mode_fixup callback.

mode_fixup callback shoudn't be called if the callback
of drm_encoder_helper_funcs is NULL.

Changelog v2:
- change it to else if

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_atomic_helper.c

index 0b475fae067d1997f95dbcd921762be3373448fb..96e08e940ed0bfef3281f2d44792a0ec98005ae1 100644 (file)
@@ -299,7 +299,7 @@ mode_fixup(struct drm_atomic_state *state)
                                                 encoder->base.id, encoder->name);
                                return ret;
                        }
-               } else {
+               } else if (funcs->mode_fixup) {
                        ret = funcs->mode_fixup(encoder, &crtc_state->mode,
                                                &crtc_state->adjusted_mode);
                        if (!ret) {