[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52E8AF40.6000103@intel.com>
Date: Wed, 29 Jan 2014 15:35:28 +0800
From: "xinhui.pan" <xinhuix.pan@...el.com>
To: Wolfram Sang <wsa@...-dreams.de>
CC: linux-kernel@...r.kernel.org, linux-i2c@...r.kernel.org,
mika.westerberg@...ux.intel.com, andriy.shevchenko@...ux.intel.com,
yanmin_zhang@...ux.intel.com, bo.he@...el.com
Subject: Re: [PATCH] i2c-designware-pcidrv: fix the incorrect return of idle
callback
于 2014年01月29日 10:03, xinhui.pan 写道:
>
>> On Tue, Jan 28, 2014 at 01:48:28PM +0800, xinhui.pan wrote:
>>> From: "xinhui.pan" <xinhuix.pan@...el.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@...el.com>
>>> Signed-off-by: xinhui.pan <xinhuix.pan@...el.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?
>>
hi ,
I found one sentence in /Documentation/power/runtime_pm.txt
"If there is no idle callback, or if the callback returns 0,
then the PM core will attempt to carry out a runtime suspend of the device,
also respecting devices configured for autosuspend."
so is this a right way to prevent this?
Br. xinhui
>>> }
>>>
>>> --
>>> 1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists