Message ID | 20220913085320.8577-9-johan+linaro@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | drm/msm: probe deferral fixes | expand |
On 9/13/2022 1:53 AM, Johan Hovold wrote: > Device-managed resources allocated post component bind must be tied to > the lifetime of the aggregate DRM device or they will not necessarily be > released when binding of the aggregate device is deferred. > > This is specifically true for the HDMI IRQ, which will otherwise remain > requested so that the next bind attempt fails when requesting the IRQ a > second time. > > Fix this by tying the device-managed lifetime of the HDMI IRQ to the DRM > device so that it is released when bind fails. > > Fixes: 067fef372c73 ("drm/msm/hdmi: refactor bind/init") > Cc: stable@vger.kernel.org # 3.19 > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > Tested-by: Kuogee Hsieh <quic_khsieh@quicinc.com> > Reviewed-by: Kuogee Hsieh <quic_khsieh@quicinc.com> > --- > drivers/gpu/drm/msm/hdmi/hdmi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c > index a0ed6aa8e4e1..f28fb21e3891 100644 > --- a/drivers/gpu/drm/msm/hdmi/hdmi.c > +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c > @@ -344,7 +344,7 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, > goto fail; > } > > - ret = devm_request_irq(&pdev->dev, hdmi->irq, > + ret = devm_request_irq(dev->dev, hdmi->irq, > msm_hdmi_irq, IRQF_TRIGGER_HIGH, > "hdmi_isr", hdmi); > if (ret < 0) {
On Thu, Sep 22, 2022 at 12:55:03PM -0700, Kuogee Hsieh wrote: > > On 9/13/2022 1:53 AM, Johan Hovold wrote: > > Device-managed resources allocated post component bind must be tied to > > the lifetime of the aggregate DRM device or they will not necessarily be > > released when binding of the aggregate device is deferred. > > > > This is specifically true for the HDMI IRQ, which will otherwise remain > > requested so that the next bind attempt fails when requesting the IRQ a > > second time. > > > > Fix this by tying the device-managed lifetime of the HDMI IRQ to the DRM > > device so that it is released when bind fails. > > > > Fixes: 067fef372c73 ("drm/msm/hdmi: refactor bind/init") > > Cc: stable@vger.kernel.org # 3.19 > > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > > > Tested-by: Kuogee Hsieh <quic_khsieh@quicinc.com> > > Reviewed-by: Kuogee Hsieh <quic_khsieh@quicinc.com> I believe you meant: Tested-by: Kuogee Hsieh <quic_khsieh@quicinc.com> Reviewed-by: Kuogee Hsieh <quic_khsieh@quicinc.com> here (i.e. without the '>' quotes). Otherwise the tooling may not pick these up. Thanks for reviewing and testing. Johan
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c index a0ed6aa8e4e1..f28fb21e3891 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -344,7 +344,7 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, goto fail; } - ret = devm_request_irq(&pdev->dev, hdmi->irq, + ret = devm_request_irq(dev->dev, hdmi->irq, msm_hdmi_irq, IRQF_TRIGGER_HIGH, "hdmi_isr", hdmi); if (ret < 0) {