[PATCH 3/4] drm/msm/dp: skip LTTPR init when no LTTPRs are present
Saurabh Anand <[email protected]>
| Newsgroups | org.freedesktop.lists.dri-devel,org.infradead.lists.linux-phy,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260824-qcom-dp-typec-reconnect-fixes-v1-3-2825e5bf8a96@oss.qualcomm.com> |
drm_dp_lttpr_count() returns 0 when no LTTPRs are detected and a negative value on error. The previous code passed the result directly to drm_dp_lttpr_init() without checking, which would call into the LTTPR transparency-mode setup with a zero or negative repeater count. Add an early return for lttpr_count <= 0 to skip the init entirely when there are no repeaters in the link, matching the expected usage of drm_dp_lttpr_init(). Signed-off-by: Saurabh Anand <[email protected]> --- drivers/gpu/drm/msm/dp/dp_display.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 40e19d506a45..1f60c78a463d 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -253,6 +253,10 @@ static int msm_dp_display_lttpr_init(struct msm_dp_display_private *dp, u8 *dpcd return 0; lttpr_count = drm_dp_lttpr_count(dp->link->lttpr_common_caps); + + if (lttpr_count <= 0) + return 0; + rc = drm_dp_lttpr_init(dp->aux, lttpr_count); if (rc) { DRM_ERROR("failed to set LTTPRs transparency mode, rc=%d\n", rc); -- 2.34.1