]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/msm/dpu: move dpu_encoder's connector assignment to atomic_enable()
authorAbhinav Kumar <quic_abhinavk@quicinc.com>
Wed, 31 Jul 2024 19:17:22 +0000 (12:17 -0700)
committerAbhinav Kumar <quic_abhinavk@quicinc.com>
Mon, 5 Aug 2024 20:54:51 +0000 (13:54 -0700)
commitaedf02e46eb549dac8db4821a6b9f0c6bf6e3990
tree53097dcb786897aff5f65285ff1fe303ec98cc2f
parentd19d5b8d8f6dab942ce5ddbcf34bf7275e778250
drm/msm/dpu: move dpu_encoder's connector assignment to atomic_enable()

For cases where the crtc's connectors_changed was set without enable/active
getting toggled , there is an atomic_enable() call followed by an
atomic_disable() but without an atomic_mode_set().

This results in a NULL ptr access for the dpu_encoder_get_drm_fmt() call in
the atomic_enable() as the dpu_encoder's connector was cleared in the
atomic_disable() but not re-assigned as there was no atomic_mode_set() call.

Fix the NULL ptr access by moving the assignment for atomic_enable() and also
use drm_atomic_get_new_connector_for_encoder() to get the connector from
the atomic_state.

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Reported-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Closes: https://gitlab.freedesktop.org/drm/msm/-/issues/59
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # SM8350-HDK
Patchwork: https://patchwork.freedesktop.org/patch/606729/
Link: https://lore.kernel.org/r/20240731191723.3050932-1-quic_abhinavk@quicinc.com
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c