On Fri, Jul 25, 2014 at 07:03:38PM +0200, Rafael J. Wysocki wrote: > So here's an idea. > > What about returning IRQ_NONE rather than IRQ_HANDLED for "suspended" > interrupts (after all, that's what a sane driver would do for a > suspended device I suppose)? > > If the line is really shared and the interrupt is taken care of by > the other guy sharing the line, we'll be all fine. > > If that is not the case, on the other hand, and something's really > broken, we'll end up disabling the interrupt and marking it as > IRQS_SPURIOUS_DISABLED (if I understand things correctly). > > But then, we can re-enable it and clear the IRQS_SPURIOUS_DISABLED > flag at the resume_device_irqs() time so the driver can use it again. > And we'll have a trace of the breakage in dmesg, so possibly we can > go forth and fix the bad guy. > > Would that make sense? Works for me..