diff options
| author | 2014-03-12 11:40:15 -0700 | |
|---|---|---|
| committer | 2014-03-12 11:40:15 -0700 | |
| commit | 192c028b6ac972df25fd624f94a94d038fbdb66c (patch) | |
| tree | 4dd9d13ffd239e4d7c61401f892989742c671fa8 /arch/powerpc/kernel/process.c | |
| parent | Merge tag 'for_3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next (diff) | |
| parent | Linux 3.14-rc6 (diff) | |
| download | linux-dev-192c028b6ac972df25fd624f94a94d038fbdb66c.tar.xz linux-dev-192c028b6ac972df25fd624f94a94d038fbdb66c.zip | |
Merge 3.14-rc6 into usb-next
We want the USB fixes in here as well.
Diffstat (limited to 'arch/powerpc/kernel/process.c')
| -rw-r--r-- | arch/powerpc/kernel/process.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 8d4c247f1738..af064d28b365 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -1048,6 +1048,15 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) flush_altivec_to_thread(src); flush_vsx_to_thread(src); flush_spe_to_thread(src); + /* + * Flush TM state out so we can copy it. __switch_to_tm() does this + * flush but it removes the checkpointed state from the current CPU and + * transitions the CPU out of TM mode. Hence we need to call + * tm_recheckpoint_new_task() (on the same task) to restore the + * checkpointed state back and the TM mode. + */ + __switch_to_tm(src); + tm_recheckpoint_new_task(src); *dst = *src; |
