On Tue, Jan 28, 2014 at 01:48:28PM +0800, xinhui.pan wrote: > From: "xinhui.pan" <xinhuix.pan@xxxxxxxxx> > > i2c_dw_pci_runtime_idle should return -EBUSY rather than zero if it do success. I don't understand... > Otherwise rpm_idle will call pm_suspend again and that may cause pm_schedule_suspend delay invalidate. > > Signed-off-by: bo.he <bo.he@xxxxxxxxx> > Signed-off-by: xinhui.pan <xinhuix.pan@xxxxxxxxx> > --- > drivers/i2c/busses/i2c-designware-pcidrv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c > index f6ed06c..96e81f6 100644 > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c > @@ -190,8 +190,8 @@ static int i2c_dw_pci_runtime_idle(struct device *dev) > int err = pm_schedule_suspend(dev, 500); > dev_dbg(dev, "runtime_idle called\n"); > > - if (err != 0) > - return 0; > + if (err) > + return err; > return -EBUSY; ... it does return EBUSY when pm_schedule_suspend() succeeds? It only returns 0 if it does not succeed (for which I don't know if this is an apropriate behaviour). Mika? > } > > -- > 1.7.9.5
Attachment:
signature.asc
Description: Digital signature