diff options
Diffstat (limited to 'arch/blackfin/include/asm/context.S')
-rw-r--r-- | arch/blackfin/include/asm/context.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/blackfin/include/asm/context.S b/arch/blackfin/include/asm/context.S index c0e630edfb9a..40d20b4a9b1f 100644 --- a/arch/blackfin/include/asm/context.S +++ b/arch/blackfin/include/asm/context.S | |||
@@ -303,9 +303,14 @@ | |||
303 | RETI = [sp++]; | 303 | RETI = [sp++]; |
304 | RETS = [sp++]; | 304 | RETS = [sp++]; |
305 | 305 | ||
306 | #ifdef CONFIG_SMP | ||
307 | GET_PDA(p0, r0); | ||
308 | r0 = [p0 + PDA_IRQFLAGS]; | ||
309 | #else | ||
306 | p0.h = _irq_flags; | 310 | p0.h = _irq_flags; |
307 | p0.l = _irq_flags; | 311 | p0.l = _irq_flags; |
308 | r0 = [p0]; | 312 | r0 = [p0]; |
313 | #endif | ||
309 | sti r0; | 314 | sti r0; |
310 | 315 | ||
311 | sp += 4; /* Skip Reserved */ | 316 | sp += 4; /* Skip Reserved */ |
@@ -352,4 +357,3 @@ | |||
352 | SYSCFG = [sp++]; | 357 | SYSCFG = [sp++]; |
353 | csync; | 358 | csync; |
354 | .endm | 359 | .endm |
355 | |||