diff options
author | Yinghai Lu <yinghai@kernel.org> | 2012-09-17 22:22:31 -0700 |
---|---|---|
committer | Yinghai Lu <yinghai@kernel.org> | 2012-09-17 22:22:31 -0700 |
commit | aeaa2da417ef0440d2930545938cb1deff21cc5c (patch) | |
tree | 7f8b030718a3303b2837c9d52f994ca81f592084 | |
parent | 0283996b7ca609fcb261cdbacda8b04993471f66 (diff) | |
download | linux-yinghai-aeaa2da417ef0440d2930545938cb1deff21cc5c.tar.gz |
genirq: bail out early in free_desc()
So we can use irq_free_descs to clear allocated_irqs bits for
preserved irqs.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
-rw-r--r-- | kernel/irq/irqdesc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 33a4b71e595926..086cfa9e753e94 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -170,6 +170,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); |