On 22/03/2019 12:13, Sameer Pujar wrote: > If interrupts are enabled for a non-root GIC device that uses the > gic-pm driver, when system suspend occurs, the current interrupt > state is not saved and restored correctly and so interrupts do not > work again on resuming the system. Add a late suspend handler to > save and restore the state for these devices. > > Suggested-by: Jonathan Hunter <jonathanh@xxxxxxxxxx> > Signed-off-by: Sameer Pujar <spujar@xxxxxxxxxx> > --- > drivers/irqchip/irq-gic-pm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/irqchip/irq-gic-pm.c b/drivers/irqchip/irq-gic-pm.c > index 069cf4c..c4aac09 100644 > --- a/drivers/irqchip/irq-gic-pm.c > +++ b/drivers/irqchip/irq-gic-pm.c > @@ -142,6 +142,8 @@ static int gic_probe(struct platform_device *pdev) > static const struct dev_pm_ops gic_pm_ops = { > SET_RUNTIME_PM_OPS(gic_runtime_suspend, > gic_runtime_resume, NULL) > + SET_LATE_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, > + pm_runtime_force_resume) > }; > > static const char * const gic400_clocks[] = { Reviewed-by: Jon Hunter <jonathanh@xxxxxxxxxx> Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx> Cheers Jon -- nvpublic