From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759178AbZFNOpg (ORCPT ); Sun, 14 Jun 2009 10:45:36 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755196AbZFNOp2 (ORCPT ); Sun, 14 Jun 2009 10:45:28 -0400 Received: from www.tglx.de ([62.245.132.106]:60264 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754849AbZFNOp2 (ORCPT ); Sun, 14 Jun 2009 10:45:28 -0400 Date: Sun, 14 Jun 2009 16:45:10 +0200 (CEST) From: Thomas Gleixner To: "Pallipadi, Venkatesh" cc: "Benjamin S." , "Rafael J. Wysocki" , Ingo Molnar , LKML , "js@sig21.net" , Jesse Barnes , pm list , Linux PCI , Matthew Wilcox Subject: RE: 2.6.30 enabling cpu1 on resume fails after suspend to memory In-Reply-To: Message-ID: References: <20090614120950.116536fa@pluto-lenny.milky.way> <200906141400.27331.rjw@sisk.pl> <200906141415.16949.rjw@sisk.pl> <20090614143708.32ec250c@pluto-lenny.milky.way> <7E82351C108FA840AB1866AC776AEC4669244187@orsmsx505.amr.corp.intel.com> <7E82351C108FA840AB1866AC776AEC466924418A@orsmsx505.amr.corp.intel.com> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Benjamin, On Sun, 14 Jun 2009, Thomas Gleixner wrote: > On Sun, 14 Jun 2009, Pallipadi, Venkatesh wrote: > > >Benjamin just confirmed that. The logic in disable_device_interrupts() > > >already skips interrupts marked with IRQF_TIMER, but I suspect that > > >the hpet/MSI interupts are not marked that way. > > > > > > > For percpu hpet at offline we will have > > - clockevent shutdown which will disable the interrupt > > - free_irq that will unregister on CPU DEAD > > Well, the interupt in question is on the boot cpu which is not going > through CPU DEAD :) can you please test the patch below. Thanks, tglx ------------> diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 81408b9..dedc2bd 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c @@ -510,7 +510,8 @@ static int hpet_setup_irq(struct hpet_dev *dev) { if (request_irq(dev->irq, hpet_interrupt_handler, - IRQF_DISABLED|IRQF_NOBALANCING, dev->name, dev)) + IRQF_TIMER | IRQF_DISABLED | IRQF_NOBALANCING, + dev->name, dev)) return -1; disable_irq(dev->irq);