1. 29 7月, 2010 4 次提交
    • I
      xen: Do not suspend IPI IRQs. · 4877c737
      Ian Campbell 提交于
      In general the semantics of IPIs are that they are are expected to
      continue functioning after dpm_suspend_noirq().
      
      Specifically I have seen a deadlock between the callfunc IPI and the
      stop machine used by xen's do_suspend() routine. If one CPU has already
      called dpm_suspend_noirq() then there is a window where it can be sent
      a callfunc IPI before all the other CPUs have entered stop_cpu().
      
      If this happens then the first CPU ends up spinning in stop_cpu()
      waiting for the other to rendezvous in state STOPMACHINE_PREPARE while
      the other is spinning in csd_lock_wait().
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: xen-devel@lists.xensource.com
      LKML-Reference: <1280398595-29708-4-git-send-email-ian.campbell@citrix.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      4877c737
    • I
      powerpc: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupts · ba461f09
      Ian Campbell 提交于
      kw_i2c_irq and via_pmu_interrupt are not timer interrupts and
      therefore should not use IRQF_TIMER. Use the recently introduced
      IRQF_NO_SUSPEND instead since that is the actual desired behaviour.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: linuxppc-dev@ozlabs.org
      Cc: devicetree-discuss@lists.ozlabs.org
      LKML-Reference: <1280398595-29708-3-git-send-email-ian.campbell@citrix.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      ba461f09
    • I
      ixp4xx-beeper: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupt · 2dd93203
      Ian Campbell 提交于
      ixp4xx_spkr_interrupt is not a timer interrupt and therefore should
      not use IRQF_TIMER. Use the recently introduced IRQF_NO_SUSPEND
      instead since that is the actual desired behaviour.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: linux-input@vger.kernel.org
      LKML-Reference: <1280398595-29708-2-git-send-email-ian.campbell@citrix.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      2dd93203
    • I
      irq: Add new IRQ flag IRQF_NO_SUSPEND · 685fd0b4
      Ian Campbell 提交于
      A small number of users of IRQF_TIMER are using it for the implied no
      suspend behaviour on interrupts which are not timer interrupts.
      
      Therefore add a new IRQF_NO_SUSPEND flag, rename IRQF_TIMER to
      __IRQF_TIMER and redefine IRQF_TIMER in terms of these new flags.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: xen-devel@lists.xensource.com
      Cc: linux-input@vger.kernel.org
      Cc: linuxppc-dev@ozlabs.org
      Cc: devicetree-discuss@lists.ozlabs.org
      LKML-Reference: <1280398595-29708-1-git-send-email-ian.campbell@citrix.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      685fd0b4
  2. 27 7月, 2010 36 次提交