Re: Reworking suspend-resume sequence (was: Re: PCI PM: Restorestandard config registers of all devices early)
From: Linus Torvalds
Date: Tue Feb 03 2009 - 14:20:58 EST
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/