From: Jonathan Cameron <jic23@kernel.org>
To: Andreas Klinger <ak@it-klinger.de>
Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net,
singhalsimran0@gmail.com, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] iio: hx711: fix bug in reset functionality
Date: Sat, 2 Dec 2017 13:22:26 +0000 [thread overview]
Message-ID: <20171202132226.36bc96f3@archlinux> (raw)
In-Reply-To: <20171130214445.GA27345@arbeit>
On Thu, 30 Nov 2017 22:44:45 +0100
Andreas Klinger <ak@it-klinger.de> wrote:
> return value in hx711_reset() should indicate status of dout
> otherwise the calling function is reporting an error als false positive
>
> wait up to 1 second until the device is in normal state
> by changing the channel on every trigger event it turned out that the
> former 100 ms are not enough for waiting until the device is in normal mode
What is the ultimate result of this? I'm trying to assess if we want
to marked it for stable trees or just apply it ready for the next
merge window. It think it means that two reads too close to each
other will always result in an error for the second one rather than
the intended delay and then succeed?
Thanks,
Jonathan
>
> Signed-off-by: Andreas Klinger <ak@it-klinger.de>
> ---
> drivers/iio/adc/hx711.c | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c
> index d773fd69a76d..eabd2e66aca3 100644
> --- a/drivers/iio/adc/hx711.c
> +++ b/drivers/iio/adc/hx711.c
> @@ -153,15 +153,16 @@ static int hx711_wait_for_ready(struct hx711_data *hx711_data)
> int i, val;
>
> /*
> - * a maximum reset cycle time of 56 ms was measured.
> - * we round it up to 100 ms
> + * in some rare cases the reset takes quite a long time
> + * especially when the channel is changed.
> + * Allow up to one second for it
> */
> for (i = 0; i < 100; i++) {
> val = gpiod_get_value(hx711_data->gpiod_dout);
> if (!val)
> break;
> - /* sleep at least 1 ms */
> - msleep(1);
> + /* sleep at least 10 ms */
> + msleep(10);
> }
> if (val)
> return -EIO;
> @@ -203,9 +204,7 @@ static int hx711_reset(struct hx711_data *hx711_data)
> * after a dummy read we need to wait vor readiness
> * for not mixing gain pulses with the clock
> */
> - ret = hx711_wait_for_ready(hx711_data);
> - if (ret)
> - return ret;
> + val = hx711_wait_for_ready(hx711_data);
> }
>
> return val;
next prev parent reply other threads:[~2017-12-02 13:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-30 21:44 [PATCH v2 2/2] iio: hx711: fix bug in reset functionality Andreas Klinger
2017-12-02 13:22 ` Jonathan Cameron [this message]
2017-12-05 13:12 ` Andreas Klinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171202132226.36bc96f3@archlinux \
--to=jic23@kernel.org \
--cc=ak@it-klinger.de \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmeerw@pmeerw.net \
--cc=singhalsimran0@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox