public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iio: Fix iio_channel_has_info
@ 2013-07-01 14:20 Alexandre Belloni
  2013-07-02 21:10 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandre Belloni @ 2013-07-01 14:20 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Maxime Ripard, Thomas Petazzoni, Gregory Clement, linux-iio,
	linux-kernel, Lars-Peter Clausen, Alexandre Belloni, stable

Since the info_mask split, iio_channel_has_info() is not working correctly.
info_mask_separate and info_mask_shared_by_type, it is not possible to compare
them directly with the iio_chan_info_enum enum. Correct that bit using the BIT()
macro.

Cc: <stable@vger.kernel.org> # 3.10.x
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 include/linux/iio/iio.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 8d171f4..3d35b70 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -211,8 +211,8 @@ struct iio_chan_spec {
 static inline bool iio_channel_has_info(const struct iio_chan_spec *chan,
 	enum iio_chan_info_enum type)
 {
-	return (chan->info_mask_separate & type) |
-	       (chan->info_mask_shared_by_type & type);
+	return (chan->info_mask_separate & BIT(type)) |
+	       (chan->info_mask_shared_by_type & BIT(type));
 }
 
 #define IIO_ST(si, rb, sb, sh)						\
-- 
1.8.1.2


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

* Re: [PATCH] iio: Fix iio_channel_has_info
  2013-07-01 14:20 [PATCH] iio: Fix iio_channel_has_info Alexandre Belloni
@ 2013-07-02 21:10 ` Jonathan Cameron
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2013-07-02 21:10 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Jonathan Cameron, Maxime Ripard, Thomas Petazzoni,
	Gregory Clement, linux-iio, linux-kernel, Lars-Peter Clausen,
	stable

On 07/01/2013 03:20 PM, Alexandre Belloni wrote:
> Since the info_mask split, iio_channel_has_info() is not working correctly.
> info_mask_separate and info_mask_shared_by_type, it is not possible to compare
> them directly with the iio_chan_info_enum enum. Correct that bit using the BIT()
> macro.
> 
> Cc: <stable@vger.kernel.org> # 3.10.x
> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
ouch / oops is about all I can say to this one.  Ideally might have had a note
in the description about what the effect of this bug is (breakage in the inkern interface)

Thanks and applied to the fixes-togreg branch of iio.git


> ---
>  include/linux/iio/iio.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
> index 8d171f4..3d35b70 100644
> --- a/include/linux/iio/iio.h
> +++ b/include/linux/iio/iio.h
> @@ -211,8 +211,8 @@ struct iio_chan_spec {
>  static inline bool iio_channel_has_info(const struct iio_chan_spec *chan,
>  	enum iio_chan_info_enum type)
>  {
> -	return (chan->info_mask_separate & type) |
> -	       (chan->info_mask_shared_by_type & type);
> +	return (chan->info_mask_separate & BIT(type)) |
> +	       (chan->info_mask_shared_by_type & BIT(type));
>  }
>  
>  #define IIO_ST(si, rb, sb, sh)						\
> 

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

end of thread, other threads:[~2013-07-02 21:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-01 14:20 [PATCH] iio: Fix iio_channel_has_info Alexandre Belloni
2013-07-02 21:10 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox