@@ -2101,6 +2101,7 @@ static enum drm_connector_status mtk_dp_bdg_detect(struct drm_bridge *bridge)
enum drm_connector_status ret = connector_status_disconnected;
bool enabled = mtk_dp->enabled;
u8 sink_count = 0;
+ size_t value;
if (!mtk_dp->train_info.cable_plugged_in)
return ret;
@@ -2115,7 +2116,12 @@ static enum drm_connector_status mtk_dp_bdg_detect(struct drm_bridge *bridge)
* function, we just need to check the HPD connection to check
* whether we connect to a sink device.
*/
- drm_dp_dpcd_readb(&mtk_dp->aux, DP_SINK_COUNT, &sink_count);
+ value = drm_dp_dpcd_readb(&mtk_dp->aux, DP_SINK_COUNT, &sink_count);
+ if (value < 0) {
+ drm_err(mtk_dp->drm_dev, "Failed to read DP Sink Count: %zd\n", value);
+ return ret;
+ }
+
if (DP_GET_SINK_COUNT(sink_count))
ret = connector_status_connected;
Returns the number of bytes transferred (1) on success. Check the return value to confirm that AUX communication is successful. Fixes: d9e6ea02fc3f ("drm/mediatek: dp: Add MT8195 External DisplayPort support") Signed-off-by: Liankun Yang <liankun.yang@mediatek.com> --- Changes in V2: - Modify Fixes in Commit Message. Per suggestion from the previous thread: https://patchwork.kernel.org/project/linux-mediatek/patch/20240930092000.5385-1-liankun.yang@mediatek.com/ --- drivers/gpu/drm/mediatek/mtk_dp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)