* [PATCH RFC] iio: iadc: wait_for_completion_timeout time in jiffies
@ 2014-12-31 8:59 Nicholas Mc Guire
2015-01-04 11:16 ` Jonathan Cameron
0 siblings, 1 reply; 3+ messages in thread
From: Nicholas Mc Guire @ 2014-12-31 8:59 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald, Grant Likely,
Rob Herring, Ivan T. Ivanov, linux-iio, linux-kernel, devicetree,
Nicholas Mc Guire
The timeout value to wait_for_completion_timeout is in jiffies but
the value being passed seems like it was intended to by microseconds
Note that the timeout was extremely long thus it might be too short
now. In any case it probably should be passed through usecs_to_jiffies()
or msecs_to_jiffies()
patch is against linux-next 3.19.0-rc1 -next-20141226
patch was only compile-tested x86_64_defcofnig + CONFIG_SPMI=m
CONFIG_IIO=m, CONFIG_QCOM_SPMI_IADC=m
Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
---
drivers/iio/adc/qcom-spmi-iadc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/qcom-spmi-iadc.c b/drivers/iio/adc/qcom-spmi-iadc.c
index b9666f2..3080562 100644
--- a/drivers/iio/adc/qcom-spmi-iadc.c
+++ b/drivers/iio/adc/qcom-spmi-iadc.c
@@ -296,7 +296,8 @@ static int iadc_do_conversion(struct iadc_chip *iadc, int chan, u16 *data)
if (iadc->poll_eoc) {
ret = iadc_poll_wait_eoc(iadc, wait);
} else {
- ret = wait_for_completion_timeout(&iadc->complete, wait);
+ ret = wait_for_completion_timeout(&iadc->complete,
+ usecs_to_jiffies(wait));
if (!ret)
ret = -ETIMEDOUT;
else
--
1.7.10.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH RFC] iio: iadc: wait_for_completion_timeout time in jiffies
2014-12-31 8:59 [PATCH RFC] iio: iadc: wait_for_completion_timeout time in jiffies Nicholas Mc Guire
@ 2015-01-04 11:16 ` Jonathan Cameron
2015-01-05 15:33 ` Ivan T. Ivanov
0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Cameron @ 2015-01-04 11:16 UTC (permalink / raw)
To: Nicholas Mc Guire
Cc: Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald, Grant Likely,
Rob Herring, Ivan T. Ivanov, linux-iio, linux-kernel, devicetree
On 31/12/14 08:59, Nicholas Mc Guire wrote:
> The timeout value to wait_for_completion_timeout is in jiffies but
> the value being passed seems like it was intended to by microseconds
> Note that the timeout was extremely long thus it might be too short
> now. In any case it probably should be passed through usecs_to_jiffies()
> or msecs_to_jiffies()
>
> patch is against linux-next 3.19.0-rc1 -next-20141226
>
> patch was only compile-tested x86_64_defcofnig + CONFIG_SPMI=m
> CONFIG_IIO=m, CONFIG_QCOM_SPMI_IADC=m
>
> Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
Certainly suspicious and I'd draw the same conclusion you did!
Anyhow just waiting for Ivan to take a look as it's his driver.
Thanks,
Jonathan
> ---
> drivers/iio/adc/qcom-spmi-iadc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/qcom-spmi-iadc.c b/drivers/iio/adc/qcom-spmi-iadc.c
> index b9666f2..3080562 100644
> --- a/drivers/iio/adc/qcom-spmi-iadc.c
> +++ b/drivers/iio/adc/qcom-spmi-iadc.c
> @@ -296,7 +296,8 @@ static int iadc_do_conversion(struct iadc_chip *iadc, int chan, u16 *data)
> if (iadc->poll_eoc) {
> ret = iadc_poll_wait_eoc(iadc, wait);
> } else {
> - ret = wait_for_completion_timeout(&iadc->complete, wait);
> + ret = wait_for_completion_timeout(&iadc->complete,
> + usecs_to_jiffies(wait));
> if (!ret)
> ret = -ETIMEDOUT;
> else
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH RFC] iio: iadc: wait_for_completion_timeout time in jiffies
2015-01-04 11:16 ` Jonathan Cameron
@ 2015-01-05 15:33 ` Ivan T. Ivanov
0 siblings, 0 replies; 3+ messages in thread
From: Ivan T. Ivanov @ 2015-01-05 15:33 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Nicholas Mc Guire, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Grant Likely, Rob Herring, linux-iio,
linux-kernel, devicetree
On Sun, 2015-01-04 at 11:16 +0000, Jonathan Cameron wrote:
> On 31/12/14 08:59, Nicholas Mc Guire wrote:
> > The timeout value to wait_for_completion_timeout is in jiffies but
> > the value being passed seems like it was intended to by microseconds
> > Note that the timeout was extremely long thus it might be too short
> > now. In any case it probably should be passed through usecs_to_jiffies()
> > or msecs_to_jiffies()
> >
> > patch is against linux-next 3.19.0-rc1 -next-20141226
> >
> > patch was only compile-tested x86_64_defcofnig + CONFIG_SPMI=m
> > CONFIG_IIO=m, CONFIG_QCOM_SPMI_IADC=m
> >
> > Signed-off-by: Nicholas Mc Guire herr@hofr.at>
> Certainly suspicious and I'd draw the same conclusion you did!
> Anyhow just waiting for Ivan to take a look as it's his driver.
Oops, true. Timeout is calculated in microseconds and have to
be converted to jiffies.
Thanks.
Acked-by: Ivan T. Ivanov <iivanov@mm-sol.com>
>
> Thanks,
>
> Jonathan
> > ---
> > drivers/iio/adc/qcom-spmi-iadc.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/iio/adc/qcom-spmi-iadc.c b/drivers/iio/adc/qcom-spmi-iadc.c
> > index b9666f2..3080562 100644
> > --- a/drivers/iio/adc/qcom-spmi-iadc.c
> > +++ b/drivers/iio/adc/qcom-spmi-iadc.c
> > @@ -296,7 +296,8 @@ static int iadc_do_conversion(struct iadc_chip *iadc, int chan, u16 *data)
> > if (iadc->poll_eoc) {
> > ret = iadc_poll_wait_eoc(iadc, wait);
> > } else {
> > - ret = wait_for_completion_timeout(&iadc->complete, wait);
> > + ret = wait_for_completion_timeout(&iadc->complete,
> > + usecs_to_jiffies(wait));
> > if (!ret)
> > ret = -ETIMEDOUT;
> > else
> >
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-01-05 15:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-31 8:59 [PATCH RFC] iio: iadc: wait_for_completion_timeout time in jiffies Nicholas Mc Guire
2015-01-04 11:16 ` Jonathan Cameron
2015-01-05 15:33 ` Ivan T. Ivanov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox