Skip to content

Commit

Permalink
powerpc/irq: Always free duplicate IRQ_LEGACY hosts
Browse files Browse the repository at this point in the history
Since kmem caches are allocated before init_IRQ as noted in 3af259d
(powerpc: Radix trees are available before init_IRQ), we now call
kmalloc in all cases and can can always call kfree if we are asked
to allocate a duplicate or conflicting IRQ_HOST_MAP_LEGACY host.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Milton Miller authored and Benjamin Herrenschmidt committed May 26, 2011
1 parent 8142f03 commit 3d1b5e2
Showing 1 changed file with 2 additions and 9 deletions.
11 changes: 2 additions & 9 deletions arch/powerpc/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,15 +557,8 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
if (revmap_type == IRQ_HOST_MAP_LEGACY) {
if (irq_map[0].host != NULL) {
raw_spin_unlock_irqrestore(&irq_big_lock, flags);
/* If we are early boot, we can't free the structure,
* too bad...
* this will be fixed once slab is made available early
* instead of the current cruft
*/
if (mem_init_done) {
of_node_put(host->of_node);
kfree(host);
}
of_node_put(host->of_node);
kfree(host);
return NULL;
}
irq_map[0].host = host;
Expand Down

0 comments on commit 3d1b5e2

Please sign in to comment.