Message ID | 20220425091831.3500487-1-lv.ruyi@zte.com.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/msm/hdmi: fix error check return value of irq_of_parse_and_map() | expand |
Quoting cgel.zte@gmail.com (2022-04-25 02:18:31) > From: Lv Ruyi <lv.ruyi@zte.com.cn> > > 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 <zealci@zte.com.cn> > Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn> > --- This one fixes a commit that moved away from platform APIs! Reviewed-by: Stephen Boyd <swboyd@chromium.org>
On 25/04/2022 23:11, Stephen Boyd wrote: > Quoting cgel.zte@gmail.com (2022-04-25 02:18:31) >> From: Lv Ruyi <lv.ruyi@zte.com.cn> >> >> 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 <zealci@zte.com.cn> >> Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn> >> --- > > 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 <swboyd@chromium.org>
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; }