summaryrefslogtreecommitdiffstats
path: root/kernel/arch/avr32/include/asm/switch_to.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/avr32/include/asm/switch_to.h')
-rw-r--r--kernel/arch/avr32/include/asm/switch_to.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/arch/avr32/include/asm/switch_to.h b/kernel/arch/avr32/include/asm/switch_to.h
index 9a8e9d520..6f00581c3 100644
--- a/kernel/arch/avr32/include/asm/switch_to.h
+++ b/kernel/arch/avr32/include/asm/switch_to.h
@@ -15,11 +15,13 @@
*/
#ifdef CONFIG_OWNERSHIP_TRACE
#include <asm/ocd.h>
-#define finish_arch_switch(prev) \
+#define ocd_switch(prev, next) \
do { \
ocd_write(PID, prev->pid); \
- ocd_write(PID, current->pid); \
+ ocd_write(PID, next->pid); \
} while(0)
+#else
+#define ocd_switch(prev, next)
#endif
/*
@@ -38,6 +40,7 @@ extern struct task_struct *__switch_to(struct task_struct *,
struct cpu_context *);
#define switch_to(prev, next, last) \
do { \
+ ocd_switch(prev, next); \
last = __switch_to(prev, &prev->thread.cpu_context + 1, \
&next->thread.cpu_context); \
} while (0)