diff options
author | Alex Shi <alex.shi@linaro.org> | 2018-02-01 12:02:38 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2018-02-01 12:02:38 +0800 |
commit | 59e35359ec360b74e9013ccab84c19ce53db38f9 (patch) | |
tree | f6c5cca3189d2140f23e7a71ee3f167c7e6f748e /arch/x86/kernel/apic/vector.c | |
parent | c210bc406de6a7993b8d7f30c28436be80de7694 (diff) | |
parent | a40f2a595adfe0be6ced06fdb4c4a24ae3291a91 (diff) |
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-androidlsk-v4.4-18.02-android
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; } |