diff --git a/[refs] b/[refs] index 84f164fa5420..28a1b6c38201 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dbece45894d3ab1baac15a96dc4e1e8e23f64a93 +refs/heads/master: ae3790b8a916429be5fa61da95992929e6b34d64 diff --git a/trunk/arch/arm/mm/context.c b/trunk/arch/arm/mm/context.c index 119bc52ab93e..4e07eec1270d 100644 --- a/trunk/arch/arm/mm/context.c +++ b/trunk/arch/arm/mm/context.c @@ -63,10 +63,11 @@ static int contextidr_notifier(struct notifier_block *unused, unsigned long cmd, pid = task_pid_nr(thread->task) << ASID_BITS; asm volatile( " mrc p15, 0, %0, c13, c0, 1\n" - " bfi %1, %0, #0, %2\n" - " mcr p15, 0, %1, c13, c0, 1\n" + " and %0, %0, %2\n" + " orr %0, %0, %1\n" + " mcr p15, 0, %0, c13, c0, 1\n" : "=r" (contextidr), "+r" (pid) - : "I" (ASID_BITS)); + : "I" (~ASID_MASK)); isb(); return NOTIFY_OK;