On Fri, May 30, 2025 at 05:54:25PM +0800, Yongbang Shi wrote:
From: Baihan Li <libaihan@xxxxxxxxxx>This doesn't explain, why does it fail and which IRQ name is actually
The local variable of irq name is passed to devm_request_threaded_irq(),
which will make request_irq failed. Using the global irq name instead
of it to fix.
expected.
The local variable is passed in request_irq (), and there will be use after free problem.
Fixes: b11bc1ae4658 ("drm/hisilicon/hibmc: Add MSI irq getting and requesting for HPD")Please point to the corresponding IRQ names as currently implemented in
Signed-off-by: Baihan Li <libaihan@xxxxxxxxxx>
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/ drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 768b97f9e74a..4cdcc34070ee 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -32,7 +32,7 @@
DEFINE_DRM_GEM_FOPS(hibmc_fops);
-static const char *g_irqs_names_map[HIBMC_MAX_VECTORS] = { "vblank", "hpd" };
+static const char *g_irqs_names_map[HIBMC_MAX_VECTORS] = { "hibmc- vblank", "hibmc-hpd" };
the upstream kernel.
Ok.
static irqreturn_t hibmc_interrupt(int irq, void *arg)
{