|
@@ -499,13 +499,14 @@ void giveup_all(struct task_struct *tsk)
|
|
|
if (!tsk->thread.regs)
|
|
if (!tsk->thread.regs)
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
|
|
+ check_if_tm_restore_required(tsk);
|
|
|
|
|
+
|
|
|
usermsr = tsk->thread.regs->msr;
|
|
usermsr = tsk->thread.regs->msr;
|
|
|
|
|
|
|
|
if ((usermsr & msr_all_available) == 0)
|
|
if ((usermsr & msr_all_available) == 0)
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
msr_check_and_set(msr_all_available);
|
|
msr_check_and_set(msr_all_available);
|
|
|
- check_if_tm_restore_required(tsk);
|
|
|
|
|
|
|
|
|
|
WARN_ON((usermsr & MSR_VSX) && !((usermsr & MSR_FP) && (usermsr & MSR_VEC)));
|
|
WARN_ON((usermsr & MSR_VSX) && !((usermsr & MSR_FP) && (usermsr & MSR_VEC)));
|
|
|
|
|
|