[PATCH] drm/adp: Free FE IRQ on bind failure
From: Myeonghun Pak
Date: Wed Jun 24 2026 - 05:06:38 EST
adp_drm_bind() requests the front-end IRQ before registering the DRM
device. If drm_dev_register() fails, the function returns immediately
and leaves the IRQ handler registered.
Release the IRQ on the drm_dev_register() error path. The normal unbind
path still frees the IRQ after successful registration.
Fixes: 332122eba628 ("drm: adp: Add Apple Display Pipe driver")
Co-developed-by: Ijae Kim <ae878000@xxxxxxxxx>
Signed-off-by: Ijae Kim <ae878000@xxxxxxxxx>
Signed-off-by: Myeonghun Pak <mhun512@xxxxxxxxx>
---
drivers/gpu/drm/adp/adp_drv.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/adp/adp_drv.c b/drivers/gpu/drm/adp/adp_drv.c
index 4554cf75565e..20f38543d04e 100644
--- a/drivers/gpu/drm/adp/adp_drv.c
+++ b/drivers/gpu/drm/adp/adp_drv.c
@@ -535,9 +535,13 @@ static int adp_drm_bind(struct device *dev)
err = drm_dev_register(&adp->drm, 0);
if (err)
- return err;
+ goto err_free_irq;
return 0;
+
+err_free_irq:
+ free_irq(adp->fe_irq, adp);
+ return err;
}
static void adp_drm_unbind(struct device *dev)
--
2.47.1