diff options
author | Alex Shi <alex.shi@linaro.org> | 2018-02-01 19:53:33 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2018-02-01 19:54:48 +0800 |
commit | cd1fe2006b62234455a91e428bad45331dc79250 (patch) | |
tree | 5fca3d52a0d3f6edbb4352d6b54f3155d7e2c100 /arch/x86/kernel/apic/vector.c | |
parent | 824ce96ff92c399f5bd2ee308f231300e7e89174 (diff) | |
parent | 6fdbca2f35ee3e80079b31a5cda7bb6fec8def39 (diff) |
Merge remote-tracking branch 'rt-stable/v4.4-rt' into linux-linaro-lsk-v4.4-rtlsk-v4.4-18.02-rt
Conflicts:
lsk has current_stack_pointer and arch_within_stack_frames
in arch/x86/include/asm/thread_info.h
Diffstat (limited to 'arch/x86/kernel/apic/vector.c')
-rw-r--r-- | arch/x86/kernel/apic/vector.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c index 0988e204f1e3..a41e523536a2 100644 --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c @@ -359,14 +359,17 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq, irq_data->chip_data = data; irq_data->hwirq = virq + i; err = assign_irq_vector_policy(virq + i, node, data, info); - if (err) + if (err) { + irq_data->chip_data = NULL; + free_apic_chip_data(data); goto error; + } } return 0; error: - x86_vector_free_irqs(domain, virq, i + 1); + x86_vector_free_irqs(domain, virq, i); return err; } |