diff options
| author | Mark Brown <broonie@kernel.org> | 2015-08-06 12:34:41 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2015-08-06 12:34:41 +0100 |
| commit | 113adf21cf1ed49b57098c1d0d6b38ffbe9ea1e6 (patch) | |
| tree | 90505c4418561b98f773e5f7b549399e2868c239 /arch/x86/kernel/smpboot.c | |
| parent | c3879956957b8de9fd6cbad604e668fd00c6506c (diff) | |
| parent | 996034b117b467709dec7811ef134063934fa626 (diff) | |
Merge tag 'asoc-fix-v4.2-rc3' into asoc-fix-topology
ASoC: Fixes for v4.2
A lot of small fixes here, a few to the core:
- Fix for binding DAPM stream widgets on devices with prefixes assigned
to them
- Minor fixes for the newly added topology interfaces
- Locking and memory leak fixes for DAPM
- Driver specific fixes
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
| -rw-r--r-- | arch/x86/kernel/smpboot.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index d3010aa79daf..b1f3ed9c7a9e 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -992,8 +992,17 @@ int native_cpu_up(unsigned int cpu, struct task_struct *tidle) common_cpu_up(cpu, tidle); + /* + * We have to walk the irq descriptors to setup the vector + * space for the cpu which comes online. Prevent irq + * alloc/free across the bringup. + */ + irq_lock_sparse(); + err = do_boot_cpu(apicid, cpu, tidle); + if (err) { + irq_unlock_sparse(); pr_err("do_boot_cpu failed(%d) to wakeup CPU#%u\n", err, cpu); return -EIO; } @@ -1011,6 +1020,8 @@ int native_cpu_up(unsigned int cpu, struct task_struct *tidle) touch_nmi_watchdog(); } + irq_unlock_sparse(); + return 0; } |
