This is a note to let you know that I've just added the patch titled drm/msm/dp: fix IRQ lifetime to the 6.0-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-msm-dp-fix-irq-lifetime.patch and it can be found in the queue-6.0 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From a79343dcaba4b11adb57350e0b6426906a9b658e Mon Sep 17 00:00:00 2001 From: Johan Hovold <johan+linaro@xxxxxxxxxx> Date: Tue, 13 Sep 2022 10:53:15 +0200 Subject: drm/msm/dp: fix IRQ lifetime From: Johan Hovold <johan+linaro@xxxxxxxxxx> commit a79343dcaba4b11adb57350e0b6426906a9b658e upstream. 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 DP IRQ, which will otherwise remain requested so that the next bind attempt fails when requesting the IRQ a second time. Since commit c3bf8e21b38a ("drm/msm/dp: Add eDP support via aux_bus") this can happen when the aux-bus panel driver has not yet been loaded so that probe is deferred. Fix this by tying the device-managed lifetime of the DP IRQ to the DRM device so that it is released when bind fails. Fixes: c943b4948b58 ("drm/msm/dp: add displayPort driver support") Cc: stable@xxxxxxxxxxxxxxx # 5.10 Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> Tested-by: Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx> Reviewed-by: Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx> Patchwork: https://patchwork.freedesktop.org/patch/502679/ Link: https://lore.kernel.org/r/20220913085320.8577-6-johan+linaro@xxxxxxxxxx Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/msm/dp/dp_display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1249,7 +1249,7 @@ int dp_display_request_irq(struct msm_dp return -EINVAL; } - rc = devm_request_irq(&dp->pdev->dev, dp->irq, + rc = devm_request_irq(dp_display->drm_dev->dev, dp->irq, dp_display_irq_handler, IRQF_TRIGGER_HIGH, "dp_display_isr", dp); if (rc < 0) { Patches currently in stable-queue which might be from johan+linaro@xxxxxxxxxx are queue-6.0/drm-msm-dp-fix-memory-corruption-with-too-many-bridges.patch queue-6.0/drm-msm-dp-fix-aux-bus-ep-lifetime.patch queue-6.0/drm-msm-dsi-fix-memory-corruption-with-too-many-bridges.patch queue-6.0/drm-msm-fix-use-after-free-on-probe-deferral.patch queue-6.0/drm-msm-hdmi-fix-memory-corruption-with-too-many-bridges.patch queue-6.0/drm-msm-dp-fix-bridge-lifetime.patch queue-6.0/drm-msm-dp-fix-irq-lifetime.patch queue-6.0/drm-msm-hdmi-fix-irq-lifetime.patch