Add validity check for samsung,lane-count to ensure DT-provided
lane count values are specification-compliant.

Suggested-by: Luca Ceresoli <[email protected]>
Signed-off-by: Damon Ding <[email protected]>

---

Changes in v5:
- Apply DRM DP helper API to check the validity of DP lane count.

Changes in v6:
- Rebase after the new commit for restoring mandatory properties
  samsung,link-rate and samsung,lane-count.
---
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c 
b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 5240efcd3861..039e076d2b8a 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1270,7 +1270,8 @@ static int analogix_dp_dt_parse_pdata(struct 
analogix_dp_device *dp)
                        return dev_err_probe(dp->dev, -EINVAL,
                                             "Failed to get 
samsung,link-rate\n");
                video_info->max_link_rate = val;
-               if (of_property_read_u32(dp_node, "samsung,lane-count", &val))
+               if (of_property_read_u32(dp_node, "samsung,lane-count", &val) ||
+                   !drm_dp_lane_count_is_valid(val))
                        return dev_err_probe(dp->dev, -EINVAL,
                                             "Failed to get 
samsung,lane-count\n");
                video_info->max_lane_count = val;
-- 
2.34.1

Reply via email to