From 933f37aff62f316863e1c556a17753ab6390abec Mon Sep 17 00:00:00 2001 From: Li Youhong Date: Fri, 28 Aug 2026 15:20:40 +0800 Subject: [PATCH] misc: ibmvmc: free IRQ when enabling interrupts fails request_irq() may succeed while vio_enable_interrupts() fails. The shared error path freed the CRQ and killed the tasklet but left the IRQ registered. Call free_irq() before jumping to that path. Signed-off-by: Li Youhong Link: https://patch.msgid.link/20260828072040.209200-1-dayou5941@163.com Signed-off-by: Greg Kroah-Hartman --- drivers/misc/ibmvmc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/misc/ibmvmc.c b/drivers/misc/ibmvmc.c index da82b1edb7c9..b72b1ac4b359 100644 --- a/drivers/misc/ibmvmc.c +++ b/drivers/misc/ibmvmc.c @@ -2176,6 +2176,7 @@ static int ibmvmc_init_crq_queue(struct crq_server_adapter *adapter) rc = vio_enable_interrupts(vdev); if (rc != 0) { dev_err(adapter->dev, "Error %d enabling interrupts!!!\n", rc); + free_irq(vdev->irq, (void *)adapter); goto req_irq_failed; }