From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756584AbZBCTU5 (ORCPT ); Tue, 3 Feb 2009 14:20:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751525AbZBCTUp (ORCPT ); Tue, 3 Feb 2009 14:20:45 -0500 Received: from smtp1.linux-foundation.org ([140.211.169.13]:46902 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752239AbZBCTUo (ORCPT ); Tue, 3 Feb 2009 14:20:44 -0500 Date: Tue, 3 Feb 2009 11:19:48 -0800 (PST) From: Linus Torvalds X-X-Sender: torvalds@localhost.localdomain To: Jesse Barnes cc: "Rafael J. Wysocki" , Benjamin Herrenschmidt , Linux Kernel Mailing List , Andreas Schwab , Len Brown , Ingo Molnar Subject: Re: Reworking suspend-resume sequence (was: Re: PCI PM: Restore standard config registers of all devices early) In-Reply-To: Message-ID: References: <200901261904.n0QJ4Q9c016709@hera.kernel.org> <200902031804.26752.rjw@sisk.pl> <200902031032.26771.jesse.barnes@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 On Tue, 3 Feb 2009, Linus Torvalds wrote: > > Hmm. The _normal_ simple irq handler does this the way I described, but > for some reason the "handle_edge_irq()" does not. And the reason is > actually a buglet: it needs to mask things for the "recursive interrupt" > case. Btw, just to clarify: none of this happens at the actual "irq_disable()" time: it only happens if you get an interrupt _while_ it's disabled. Which obviously shouldn't happen in the shutdown/wakeup path anyway for MSI, since the interrupts aren't shared, but it would be good to just be extra safe. I do suspect we could/should just get rid of the msi masking entirely, but that may be too scary a step. For the current suspend/resume situation, maybe it's enough to know that it shouldn't be happening anyway, and even if it _does_ happen on a device that has been shut down, it's just not going to do anything. Sure, it's doing that "writel/readl", but if it gets lost, who really cares? Nobody. Linus