Message ID | 1376189294-32022-4-git-send-email-yinghai@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 1166545..bbf0601 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -165,6 +165,9 @@ static void free_desc(unsigned int irq) { struct irq_desc *desc = irq_to_desc(irq); + if (!desc) + return; + unregister_irq_proc(irq, desc); mutex_lock(&sparse_irq_lock);
Hot-added interrupt controllers can reserve a range of interrupt numbers, but only allocate some of them. To simplify the release on hot-remove allow them to iterate over the reserved range, let the free_desc() code return early when the descriptor does not exist -v2: changelog from tglx Signed-off-by: Yinghai Lu <yinghai@kernel.org> --- kernel/irq/irqdesc.c | 3 +++ 1 file changed, 3 insertions(+)