summaryrefslogtreecommitdiffstats
path: root/arch/frv/kernel/process.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-11-13 07:48:07 +0100
committerTakashi Iwai <tiwai@suse.de>2012-11-13 07:48:07 +0100
commit6214b54cbf0778804de1297444c7661e70bc4d74 (patch)
tree262a96d1be839a30e6e8d3f3452806b7f337148c /arch/frv/kernel/process.c
parent05193639ca977cc889668718adb38db6d585045b (diff)
parentba027da8eb309252cb611f23808da51487f68e12 (diff)
downloadlinux-6214b54cbf0778804de1297444c7661e70bc4d74.tar.gz
linux-6214b54cbf0778804de1297444c7661e70bc4d74.tar.bz2
linux-6214b54cbf0778804de1297444c7661e70bc4d74.zip
Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.7 A few small fixes plus a large but simple change for WM5102 which writes out a bunch of register updates to the device when we enable the clock as recommended following chip evaluation.
Diffstat (limited to 'arch/frv/kernel/process.c')
-rw-r--r--arch/frv/kernel/process.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c
index e1e3aa196aa4..7e33215f1d8f 100644
--- a/arch/frv/kernel/process.c
+++ b/arch/frv/kernel/process.c
@@ -181,6 +181,9 @@ int copy_thread(unsigned long clone_flags,
childregs = (struct pt_regs *)
(task_stack_page(p) + THREAD_SIZE - FRV_FRAME0_SIZE);
+ /* set up the userspace frame (the only place that the USP is stored) */
+ *childregs = *__kernel_frame0_ptr;
+
p->set_child_tid = p->clear_child_tid = NULL;
p->thread.frame = childregs;
@@ -191,10 +194,8 @@ int copy_thread(unsigned long clone_flags,
p->thread.frame0 = childregs;
if (unlikely(!regs)) {
- memset(childregs, 0, sizeof(struct pt_regs));
childregs->gr9 = usp; /* function */
childregs->gr8 = arg;
- childregs->psr = PSR_S;
p->thread.pc = (unsigned long) ret_from_kernel_thread;
save_user_regs(p->thread.user);
return 0;