Skip to content

Commit

Permalink
x86: ioapic: Cleanup get_one_free_irq_cfg()
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Thomas Gleixner committed Oct 12, 2010
1 parent 7e49552 commit 6e2fff5
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions arch/x86/kernel/apic/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,19 +185,18 @@ static struct irq_cfg *get_one_free_irq_cfg(int node)
struct irq_cfg *cfg;

cfg = kzalloc_node(sizeof(*cfg), GFP_ATOMIC, node);
if (cfg) {
if (!zalloc_cpumask_var_node(&cfg->domain, GFP_ATOMIC, node)) {
kfree(cfg);
cfg = NULL;
} else if (!zalloc_cpumask_var_node(&cfg->old_domain,
GFP_ATOMIC, node)) {
free_cpumask_var(cfg->domain);
kfree(cfg);
cfg = NULL;
}
}

if (!cfg)
return NULL;
if (!zalloc_cpumask_var_node(&cfg->domain, GFP_ATOMIC, node))
goto out_cfg;
if (!zalloc_cpumask_var_node(&cfg->old_domain, GFP_ATOMIC, node))
goto out_domain;
return cfg;
out_domain:
free_cpumask_var(cfg->domain);
out_cfg:
kfree(cfg);
return NULL;
}

int arch_init_chip_data(struct irq_desc *desc, int node)
Expand Down

0 comments on commit 6e2fff5

Please sign in to comment.