On Sat, 27 Aug 2011, Santosh wrote: > I might be wrong here, but after discussion with Govindraj on this > issue, it seems there is a flaw in the way OMAP chain handler > handling the child interrupts. > > On OMAP, we have special interrupt wakeup source at PRCM level and > many devices can trigger wakeup from low power via this common > interrupt source. The common interrupt source upon wakeup from low > power state, decodes the source of interrupt and based on that > source, calls the respective device ISR directly. > > The issue I see here is, the ISR on _a_ device (UART in this case) > is happening even before UART resume and DPM resume has been completed. > If this is the case, then it is surely asking for trouble. Because not > just clocks, but even driver state machine is already in suspend state > when the ISR is called. If the driver state machine is in the suspend state when the ISR is called, then the ISR should realize it is handling a wakeup event instead of a normal I/O event. All it needs to do is turn off the interrupt source; the event itself will be taken care of during the device's resume callback. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html