Hi Grygorii :) On Thu, Nov 7, 2013 at 11:27 AM, Grygorii Strashko <grygorii.strashko@xxxxxx> wrote: > On 11/07/2013 05:34 PM, Nishanth Menon wrote: >> >> On 10/30/2013 03:21 PM, Daniel Mack wrote: >> [...] >>> >>> diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c >>> index 8e1a024..f15cdb9 100644 >>> --- a/arch/arm/common/edma.c >>> +++ b/arch/arm/common/edma.c >> >> >> [...] >> >>> +static int edma_pm_suspend(struct device *dev) >>> +{ >>> + int j; >>> + >>> + pm_runtime_get_sync(dev); >>> + >> >> error checks? >>> >>> + for (j = 0; j < arch_num_cc; j++) { >>> + struct edma *ecc = edma_cc[j]; >>> + >>> + disable_irq(ecc->irq_res_start); >>> + disable_irq(ecc->irq_res_end); >>> + } >>> + >>> + pm_runtime_put_sync(dev); > > > Also, it make no sense to call pm_runtime_putXXX() in suspend handlers > - it will not work because PM core calls pm_runtime_get_noresume() > from device_prepare(). > > Now, for OMAP the edma Device will be finally disabled by OMAP device core > at suspend_noirq stage (if it's connected to HW_mode). > But, in other cases it need to be handled somehow :) > This PM stuff just gets more interesting ;) -- 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