diff --git a/arch/arm64/gunyah/irq.c b/arch/arm64/gunyah/irq.c index 25f6d104bdb1..f25b0e6fb85c 100644 --- a/arch/arm64/gunyah/irq.c +++ b/arch/arm64/gunyah/irq.c @@ -112,6 +112,7 @@ EXPORT_SYMBOL(gh_put_virq); int gh_put_irq(int irq) { struct irq_data *irq_data; + unsigned long virq; if (irq <= 0) return -EINVAL; @@ -120,8 +121,10 @@ int gh_put_irq(int irq) if (!irq_data) return -EINVAL; + virq = irq_data->hwirq; + irq_dispose_mapping(irq); - return gh_put_virq(irq_data->hwirq); + return gh_put_virq(virq); } EXPORT_SYMBOL(gh_put_irq);