forked from luck/tmp_suning_uos_patched
powerpc/irq: Always free duplicate IRQ_LEGACY hosts
Since kmem caches are allocated before init_IRQ as noted in 3af259d155
(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>
This commit is contained in:
parent
8142f032a9
commit
3d1b5e206a
@ -557,15 +557,8 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
|
|||||||
if (revmap_type == IRQ_HOST_MAP_LEGACY) {
|
if (revmap_type == IRQ_HOST_MAP_LEGACY) {
|
||||||
if (irq_map[0].host != NULL) {
|
if (irq_map[0].host != NULL) {
|
||||||
raw_spin_unlock_irqrestore(&irq_big_lock, flags);
|
raw_spin_unlock_irqrestore(&irq_big_lock, flags);
|
||||||
/* If we are early boot, we can't free the structure,
|
of_node_put(host->of_node);
|
||||||
* too bad...
|
kfree(host);
|
||||||
* 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);
|
|
||||||
}
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
irq_map[0].host = host;
|
irq_map[0].host = host;
|
||||||
|
Loading…
Reference in New Issue
Block a user