From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net,
Jonathan Cameron <jic23@kernel.org>
Subject: [PATCH 04/18] staging:iio:accel:sca3000 Fix clearing of flag + setting of size of scan.
Date: Mon, 3 Oct 2016 20:26:48 +0100 [thread overview]
Message-ID: <20161003192702.24361-5-jic23@kernel.org> (raw)
In-Reply-To: <20161003192702.24361-1-jic23@kernel.org>
Not clearing the stuff_to_read flag can lead to a false flag being set
on restarting the buffer if the data was not all read the previous time.
The size of the scan is needed to ensure the function
iio_buffer_read_first_n_outer actually tries to read the data.
This stuff has been broken for some time so not stable material.
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
drivers/staging/iio/accel/sca3000.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/staging/iio/accel/sca3000.c b/drivers/staging/iio/accel/sca3000.c
index 36a52d02ee0e..8af7d83e658d 100644
--- a/drivers/staging/iio/accel/sca3000.c
+++ b/drivers/staging/iio/accel/sca3000.c
@@ -1491,6 +1491,19 @@ error_ret:
**/
static int sca3000_hw_ring_preenable(struct iio_dev *indio_dev)
{
+ /*
+ * Set stuff to read to indicate no data present.
+ * Need for cases where the interrupt had fired at the
+ * end of a cycle, but the data was never read.
+ */
+ indio_dev->buffer->stufftoread = 0;
+ /*
+ * Needed to ensure the core will actually read data
+ * from the device rather than assuming no channels
+ * are enabled.
+ */
+ indio_dev->buffer->bytes_per_datum = 6;
+
return __sca3000_hw_ring_state_set(indio_dev, 1);
}
--
2.10.0
next prev parent reply other threads:[~2016-10-03 19:27 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-03 19:26 [PATCH 00/18] staging:iio:accel rework driver and move out of staging Jonathan Cameron
2016-10-03 19:26 ` [PATCH 01/18] staging:iio:accel:sca3000 Fix a use before setting of the indio_dev->buffer pointer Jonathan Cameron
2016-10-03 19:26 ` [PATCH 02/18] staging:iio:accel:sca3000 merge files into one Jonathan Cameron
2016-10-04 8:46 ` Lars-Peter Clausen
2016-10-04 12:29 ` Jonathan Cameron
2016-10-03 19:26 ` [PATCH 03/18] staging:iio:accel:sca3000 drop sca3000_register_ring_funcs Jonathan Cameron
2016-10-03 19:26 ` Jonathan Cameron [this message]
2016-10-04 8:59 ` [PATCH 04/18] staging:iio:accel:sca3000 Fix clearing of flag + setting of size of scan Lars-Peter Clausen
2016-10-04 12:28 ` Jonathan Cameron
2016-10-03 19:26 ` [PATCH 05/18] staging:iio:accel:sca3000 Drop custom ABI for watersheds Jonathan Cameron
2016-10-03 19:26 ` [PATCH 06/18] staging:iio:accel:sca3000 move to hybrid hard / soft buffer design Jonathan Cameron
2016-10-03 19:26 ` [PATCH 07/18] staging:iio:accel:sca3000 drop some unused variables Jonathan Cameron
2016-10-03 19:26 ` [PATCH 08/18] staging:iio:accel:sca3000 use a 'fake' channel to handle freefall event registration Jonathan Cameron
2016-10-03 19:26 ` [PATCH 09/18] staging:iio:accel:sca3000 Clean up register defines Jonathan Cameron
2016-10-03 19:26 ` [PATCH 10/18] staging:iio:accel:sca3000 add readback of the 3db low pass filter frequency Jonathan Cameron
2016-10-03 19:26 ` [PATCH 11/18] staging:iio:accel:sca3000: Fix off by one error in axis due to IIO_NO_MOD Jonathan Cameron
2016-10-04 8:52 ` Lars-Peter Clausen
2016-10-08 16:59 ` Jonathan Cameron
2016-10-03 19:26 ` [PATCH 12/18] staging:iio:accel:sca3000 Add write support to the low pass filter control Jonathan Cameron
2016-10-03 19:26 ` [PATCH 13/18] staging:iio:accel:sca3000 Drop custom measurement mode attributes Jonathan Cameron
2016-10-03 19:26 ` [PATCH 14/18] staging:iio:accel:sca3000 replace non standard revision attr with dev_info on probe Jonathan Cameron
2016-10-03 19:26 ` [PATCH 15/18] staging:iio:accel:sca3000 Tidy up probe order to avoid a race Jonathan Cameron
2016-10-03 19:27 ` [PATCH 16/18] staging:iio:accel:sca3000 small checkpatch fixes (alignment etc) Jonathan Cameron
2016-10-03 19:27 ` [PATCH 17/18] staging:iio:accel:sca3000 kernel docify comments that were nearly kernel doc Jonathan Cameron
2016-10-03 20:07 ` Peter Meerwald-Stadler
2016-10-03 20:27 ` Jonathan Cameron
2016-10-03 19:27 ` [PATCH 18/18] staging:iio:accel:sca3000 Move out of staging Jonathan Cameron
-- strict thread matches above, loose matches on Subject: below --
2016-10-08 16:39 [PATCH 00/18 V2] staging:iio:accel rework driver and move " Jonathan Cameron
2016-10-08 16:39 ` [PATCH 04/18] staging:iio:accel:sca3000 Fix clearing of flag + setting of size of scan Jonathan Cameron
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=20161003192702.24361-5-jic23@kernel.org \
--to=jic23@kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=pmeerw@pmeerw.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.