Merge tag 'please-pull-ia64-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 1 Oct 2012 20:56:35 +0000 (13:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 1 Oct 2012 20:56:35 +0000 (13:56 -0700)
Pull ia64 update from Tony Luck:
 "Usual mish-mash of ia64 fixes for next merge window"

* tag 'please-pull-ia64-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
  [IA64] xen: Fix return value check in xencomm_vtop()
  [IA64] Must enable interrupts in do_notify_resume_user before calling tracehook_notify_resume()
  [IA64] kexec: Move the dereference below the NULL test
  [IA64] Fix a node distance bug

1  2 
arch/ia64/kernel/process.c

@@@ -29,7 -29,6 +29,7 @@@
  #include <linux/kdebug.h>
  #include <linux/utsname.h>
  #include <linux/tracehook.h>
 +#include <linux/rcupdate.h>
  
  #include <asm/cpu.h>
  #include <asm/delay.h>
@@@ -197,8 -196,8 +197,8 @@@ do_notify_resume_user(sigset_t *unused
                ia64_do_signal(scr, in_syscall);
        }
  
-       if (test_thread_flag(TIF_NOTIFY_RESUME)) {
-               clear_thread_flag(TIF_NOTIFY_RESUME);
+       if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME)) {
+               local_irq_enable();     /* force interrupt enable */
                tracehook_notify_resume(&scr->pt);
        }
  
@@@ -280,7 -279,6 +280,7 @@@ cpu_idle (void
  
        /* endless idle loop with no priority at all */
        while (1) {
 +              rcu_idle_enter();
                if (can_do_pal_halt) {
                        current_thread_info()->status &= ~TS_POLLING;
                        /*
                        normal_xtp();
  #endif
                }
 +              rcu_idle_exit();
                schedule_preempt_disabled();
                check_pgt_cache();
                if (cpu_is_offline(cpu))