2022-04-25 09:51:32

by CGEL

[permalink] [raw]
Subject: [PATCH] drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()

From: Lv Ruyi <[email protected]>

The irq_of_parse_and_map() function returns 0 on failure, and does not
return a negative value anyhow, so never enter this conditional branch.

Fixes: f6a8eaca0ea1 ("drm/msm/mdp5: use irqdomains")
Reported-by: Zeal Robot <[email protected]>
Signed-off-by: Lv Ruyi <[email protected]>
---
drivers/gpu/drm/msm/hdmi/hdmi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c
index ec324352e862..c3b661c2932d 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi.c
@@ -298,9 +298,9 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi,
drm_connector_attach_encoder(hdmi->connector, hdmi->encoder);

hdmi->irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
- if (hdmi->irq < 0) {
- ret = hdmi->irq;
- DRM_DEV_ERROR(dev->dev, "failed to get irq: %d\n", ret);
+ if (!hdmi->irq) {
+ ret = -EINVAL;
+ DRM_DEV_ERROR(dev->dev, "failed to get irq\n");
goto fail;
}

--
2.25.1


2022-04-25 20:24:11

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()

Quoting [email protected] (2022-04-25 02:18:31)
> From: Lv Ruyi <[email protected]>
>
> The irq_of_parse_and_map() function returns 0 on failure, and does not
> return a negative value anyhow, so never enter this conditional branch.
>
> Fixes: f6a8eaca0ea1 ("drm/msm/mdp5: use irqdomains")
> Reported-by: Zeal Robot <[email protected]>
> Signed-off-by: Lv Ruyi <[email protected]>
> ---

This one fixes a commit that moved away from platform APIs!

Reviewed-by: Stephen Boyd <[email protected]>

2022-04-26 09:10:15

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH] drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()

On 25/04/2022 23:11, Stephen Boyd wrote:
> Quoting [email protected] (2022-04-25 02:18:31)
>> From: Lv Ruyi <[email protected]>
>>
>> The irq_of_parse_and_map() function returns 0 on failure, and does not
>> return a negative value anyhow, so never enter this conditional branch.
>>
>> Fixes: f6a8eaca0ea1 ("drm/msm/mdp5: use irqdomains")
>> Reported-by: Zeal Robot <[email protected]>
>> Signed-off-by: Lv Ruyi <[email protected]>
>> ---
>
> This one fixes a commit that moved away from platform APIs!

The change was introduced in 2014 in the commit f6a8eaca0ea1
("drm/msm/mdp5: use irqdomains"). I can suspect that at that time
platform irq code wasn't fully compatible with IRQ domains.

> Reviewed-by: Stephen Boyd <[email protected]>


--
With best wishes
Dmitry