diff options
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 8831322962d3..32518401af68 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -973,8 +973,9 @@ static int emulate_instruction(struct pt_regs *regs) | |||
973 | cpu_has_feature(CPU_FTR_DSCR)) { | 973 | cpu_has_feature(CPU_FTR_DSCR)) { |
974 | PPC_WARN_EMULATED(mtdscr, regs); | 974 | PPC_WARN_EMULATED(mtdscr, regs); |
975 | rd = (instword >> 21) & 0x1f; | 975 | rd = (instword >> 21) & 0x1f; |
976 | mtspr(SPRN_DSCR, regs->gpr[rd]); | 976 | current->thread.dscr = regs->gpr[rd]; |
977 | current->thread.dscr_inherit = 1; | 977 | current->thread.dscr_inherit = 1; |
978 | mtspr(SPRN_DSCR, current->thread.dscr); | ||
978 | return 0; | 979 | return 0; |
979 | } | 980 | } |
980 | #endif | 981 | #endif |