linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver
@ 2012-06-21 21:02 Peter Meerwald
  2012-06-21 21:02 ` [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy Peter Meerwald
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Peter Meerwald @ 2012-06-21 21:02 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, Peter Meerwald

accessing first and last channel fails:
fakedata[0] is never accessed, out-of-bound access for last channel

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
---
 drivers/staging/iio/iio_simple_dummy_buffer.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
index fa4939c..d911960 100644
--- a/drivers/staging/iio/iio_simple_dummy_buffer.c
+++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
@@ -75,9 +75,9 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
 		for (i = 0, j = 0;
 		     i < bitmap_weight(indio_dev->active_scan_mask,
 				       indio_dev->masklength);
-		     i++) {
+		     i++, j++) {
 			j = find_next_bit(buffer->scan_mask,
-					  indio_dev->masklength, j + 1);
+					  indio_dev->masklength, j);
 			/* random access read from the 'device' */
 			data[i] = fakedata[j];
 			len += 2;
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy
  2012-06-21 21:02 [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Peter Meerwald
@ 2012-06-21 21:02 ` Peter Meerwald
  2012-06-22  7:36   ` Jonathan Cameron
  2012-06-21 21:02 ` [PATCH 3/3] iio staging: fix typo, improve timestamp alignment comment Peter Meerwald
  2012-06-22  7:38 ` [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Jonathan Cameron
  2 siblings, 1 reply; 7+ messages in thread
From: Peter Meerwald @ 2012-06-21 21:02 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, Peter Meerwald

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
---
 drivers/staging/iio/iio_simple_dummy_buffer.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
index d911960..f4415da 100644
--- a/drivers/staging/iio/iio_simple_dummy_buffer.c
+++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
@@ -85,8 +85,7 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
 	}
 	/* Store a timestampe at an 8 byte boundary */
 	if (indio_dev->scan_timestamp)
-		*(s64 *)(((phys_addr_t)data + len
-				+ sizeof(s64) - 1) & ~(sizeof(s64) - 1))
+		*(s64 *)((phys_addr_t)data + ALIGN(len, sizeof(s64)))
 			= iio_get_time_ns();
 	buffer->access->store_to(buffer, (u8 *)data, pf->timestamp);
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] iio staging: fix typo, improve timestamp alignment comment
  2012-06-21 21:02 [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Peter Meerwald
  2012-06-21 21:02 ` [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy Peter Meerwald
@ 2012-06-21 21:02 ` Peter Meerwald
  2012-06-22  7:39   ` Jonathan Cameron
  2012-06-22  7:38 ` [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Jonathan Cameron
  2 siblings, 1 reply; 7+ messages in thread
From: Peter Meerwald @ 2012-06-21 21:02 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, Peter Meerwald

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
---
 drivers/staging/iio/iio_simple_dummy_buffer.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
index f4415da..b9e6093 100644
--- a/drivers/staging/iio/iio_simple_dummy_buffer.c
+++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
@@ -83,7 +83,7 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
 			len += 2;
 		}
 	}
-	/* Store a timestampe at an 8 byte boundary */
+	/* Store the timestamp at an 8 byte aligned offset */
 	if (indio_dev->scan_timestamp)
 		*(s64 *)((phys_addr_t)data + ALIGN(len, sizeof(s64)))
 			= iio_get_time_ns();
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy
  2012-06-21 21:02 ` [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy Peter Meerwald
@ 2012-06-22  7:36   ` Jonathan Cameron
  0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2012-06-22  7:36 UTC (permalink / raw)
  To: Peter Meerwald; +Cc: linux-iio

On 6/21/2012 10:02 PM, Peter Meerwald wrote:

Hmm. I wonder how many other hand rolled versions of this are kicking 
about..
  Good spot. Thanks,
> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
>   drivers/staging/iio/iio_simple_dummy_buffer.c |    3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
> index d911960..f4415da 100644
> --- a/drivers/staging/iio/iio_simple_dummy_buffer.c
> +++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
> @@ -85,8 +85,7 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
>   	}
>   	/* Store a timestampe at an 8 byte boundary */
>   	if (indio_dev->scan_timestamp)
> -		*(s64 *)(((phys_addr_t)data + len
> -				+ sizeof(s64) - 1) & ~(sizeof(s64) - 1))
> +		*(s64 *)((phys_addr_t)data + ALIGN(len, sizeof(s64)))

>   	buffer->access->store_to(buffer, (u8 *)data, pf->timestamp);
>
>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver
  2012-06-21 21:02 [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Peter Meerwald
  2012-06-21 21:02 ` [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy Peter Meerwald
  2012-06-21 21:02 ` [PATCH 3/3] iio staging: fix typo, improve timestamp alignment comment Peter Meerwald
@ 2012-06-22  7:38 ` Jonathan Cameron
  2 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2012-06-22  7:38 UTC (permalink / raw)
  To: Peter Meerwald; +Cc: linux-iio

On 6/21/2012 10:02 PM, Peter Meerwald wrote:
> accessing first and last channel fails:
> fakedata[0] is never accessed, out-of-bound access for last channel
oops. Strange I never spotted this whilst testing.  Ah well, one of 
those wierd ones!
>
> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
>   drivers/staging/iio/iio_simple_dummy_buffer.c |    4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
> index fa4939c..d911960 100644
> --- a/drivers/staging/iio/iio_simple_dummy_buffer.c
> +++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
> @@ -75,9 +75,9 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
>   		for (i = 0, j = 0;
>   		     i < bitmap_weight(indio_dev->active_scan_mask,
>   				       indio_dev->masklength);
> -		     i++) {
> +		     i++, j++) {
>   			j = find_next_bit(buffer->scan_mask,
> -					  indio_dev->masklength, j + 1);
> +					  indio_dev->masklength, j);
>   			/* random access read from the 'device' */
>   			data[i] = fakedata[j];
>   			len += 2;
>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] iio staging: fix typo, improve timestamp alignment comment
  2012-06-21 21:02 ` [PATCH 3/3] iio staging: fix typo, improve timestamp alignment comment Peter Meerwald
@ 2012-06-22  7:39   ` Jonathan Cameron
  0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2012-06-22  7:39 UTC (permalink / raw)
  To: Peter Meerwald; +Cc: linux-iio

And there goes my olde worlde englishe.
:)

> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
>   drivers/staging/iio/iio_simple_dummy_buffer.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
> index f4415da..b9e6093 100644
> --- a/drivers/staging/iio/iio_simple_dummy_buffer.c
> +++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
> @@ -83,7 +83,7 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
>   			len += 2;
>   		}
>   	}
> -	/* Store a timestampe at an 8 byte boundary */
> +	/* Store the timestamp at an 8 byte aligned offset */
>   	if (indio_dev->scan_timestamp)
>   		*(s64 *)((phys_addr_t)data + ALIGN(len, sizeof(s64)))
>   			= iio_get_time_ns();
>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver
@ 2012-06-22  7:47 Peter Meerwald
  0 siblings, 0 replies; 7+ messages in thread
From: Peter Meerwald @ 2012-06-22  7:47 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-iio, Peter Meerwald

accessing first and last channel fails:
fakedata[0] is never accessed, out-of-bound access for last channel

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Acked-by: Jonathan Cameron <jic23@kernel.org>

---
 drivers/staging/iio/iio_simple_dummy_buffer.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
index fa4939c..d911960 100644
--- a/drivers/staging/iio/iio_simple_dummy_buffer.c
+++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
@@ -75,9 +75,9 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
 		for (i = 0, j = 0;
 		     i < bitmap_weight(indio_dev->active_scan_mask,
 				       indio_dev->masklength);
-		     i++) {
+		     i++, j++) {
 			j = find_next_bit(buffer->scan_mask,
-					  indio_dev->masklength, j + 1);
+					  indio_dev->masklength, j);
 			/* random access read from the 'device' */
 			data[i] = fakedata[j];
 			len += 2;
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-06-22  7:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-21 21:02 [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Peter Meerwald
2012-06-21 21:02 ` [PATCH 2/3] iio staging: simplify timestamp alignment in iio_simple_dummy Peter Meerwald
2012-06-22  7:36   ` Jonathan Cameron
2012-06-21 21:02 ` [PATCH 3/3] iio staging: fix typo, improve timestamp alignment comment Peter Meerwald
2012-06-22  7:39   ` Jonathan Cameron
2012-06-22  7:38 ` [PATCH 1/3] iio staging: fix trigger handler of iio_simple_dummy driver Jonathan Cameron
  -- strict thread matches above, loose matches on Subject: below --
2012-06-22  7:47 Peter Meerwald

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).