Re: [PATCH] i2c-designware-pcidrv: fix the incorrect return of idlecallback
From: Wolfram Sang
Date: Tue Jan 28 2014 - 13:30:50 EST
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