From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: drm/exynos: exynos_dp: Apply of-display-mode-bridge to parse the display-timings node Date: Tue, 10 Mar 2026 11:39:07 +1000 Message-ID: In-Reply-To: <20260310012458.169272-6-damon.ding@rock-chips.com> References: <20260310012458.169272-1-damon.ding@rock-chips.com> <20260310012458.169272-6-damon.ding@rock-chips.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review This patch has a **bug** that persists in the final applied state. In `exynos_dp_probe()`: ```c ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, &panel, &bridge); if (ret == -ENODEV) { dp->plat_data.next_bridge = devm_drm_of_display_mode_bridge(dp->dev, dp->dev->of_node, DRM_MODE_CONNECTOR_eDP); ret = IS_ERR(dp->plat_data.next_bridge) ? PTR_ERR(dp->plat_data.next_bridge) : 0; } if (ret) return ret; /* The remote port can be either a panel or a bridge */ dp->plat_data.panel = panel; dp->plat_data.next_bridge = bridge; // <-- CLOBBERS the display-mode bridge! ``` When `drm_of_find_panel_or_bridge()` returns `-ENODEV`, `bridge` is NULL. The code correctly creates a display-mode bridge and assigns it to `next_bridge`, but then line 201 unconditionally overwrites `next_bridge = bridge` (NULL). This clobbers the display-mode bridge that was just set. The fix would be to move the `plat_data.next_bridge = bridge` assignment inside an `else` block, or set `bridge` to the of-display-mode-bridge in the `-ENODEV` case. --- Generated by Claude Code Patch Reviewer