Re: [PATCH] drm/msm/dp: fix error check return value of irq_of_parse_and_map()

From: Dmitry Baryshkov
Date: Fri Apr 22 2022 - 19:05:36 EST


On 22/04/2022 21:39, Stephen Boyd wrote:
Quoting cgel.zte@xxxxxxxxx (2022-04-22 01:49:51)
From: Lv Ruyi <lv.ruyi@xxxxxxxxxx>

The irq_of_parse_and_map() function returns 0 on failure, and does not
return an negative value.

Fixes: 8ede2ecc3e5e ("drm/msm/dp: Add DP compliance tests on Snapdragon Chipsets")
Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
Signed-off-by: Lv Ruyi <lv.ruyi@xxxxxxxxxx>
---
drivers/gpu/drm/msm/dp/dp_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index a42732b67349..3926d2ac107d 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1239,7 +1239,7 @@ int dp_display_request_irq(struct msm_dp *dp_display)
dp = container_of(dp_display, struct dp_display_private, dp_display);

dp->irq = irq_of_parse_and_map(dp->pdev->dev.of_node, 0);

Why can't platform_get_irq() be used?

- if (dp->irq < 0) {
+ if (!dp->irq) {
rc = dp->irq;

zero as an error return value is an error?

Hmm, nice catch. Please fix it. And the other patch too.


DRM_ERROR("failed to get irq: %d\n", rc);
return rc;


--
With best wishes
Dmitry