Messages in this thread | | | Date | Wed, 29 Jan 2014 10:03:33 +0800 | From | "xinhui.pan" <> | Subject | Re: [PATCH] i2c-designware-pcidrv: fix the incorrect return of idle callback |
| |
> On Tue, Jan 28, 2014 at 01:48:28PM +0800, xinhui.pan wrote: >> From: "xinhui.pan" <xinhuix.pan@intel.com> >> >> i2c_dw_pci_runtime_idle should return -EBUSY rather than zero if it do success. > > I don't understand... > Sorry for my poor English. Even if i2c_dw_pci_runtime_idle succeed ,it should return -EBUSY. >> Otherwise rpm_idle will call pm_suspend again and that may cause pm_schedule_suspend delay invalidate. >> >> Signed-off-by: bo.he <bo.he@intel.com> >> Signed-off-by: xinhui.pan <xinhuix.pan@intel.com> >> --- >> 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
| |