diff mbox series

iio: chemical: bme680: Add check for val2 in the write_raw function

Message ID 20180811102636.6171-1-himanshujha199640@gmail.com (mailing list archive)
State New, archived
Headers show
Series iio: chemical: bme680: Add check for val2 in the write_raw function | expand

Commit Message

Himanshu Jha Aug. 11, 2018, 10:26 a.m. UTC
val2 is responsible for the floating part of the number to be
written to the device. We don't need the floating part
while writing the oversampling ratio for BME680 since the
available oversampling ratios are pure natural numbers.

So, add a sanity check to make sure val2 is 0.

Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
---
 drivers/iio/chemical/bme680_core.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jonathan Cameron Aug. 19, 2018, 4:25 p.m. UTC | #1
On Sat, 11 Aug 2018 15:56:36 +0530
Himanshu Jha <himanshujha199640@gmail.com> wrote:

> val2 is responsible for the floating part of the number to be
> written to the device. We don't need the floating part
> while writing the oversampling ratio for BME680 since the
> available oversampling ratios are pure natural numbers.
> 
> So, add a sanity check to make sure val2 is 0.
> 
> Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>

As discussed in David's patch series v3, I think this is still relevant
but now needs an update to cover the new code.

Thanks,

Jonathan

> ---
>  drivers/iio/chemical/bme680_core.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/iio/chemical/bme680_core.c b/drivers/iio/chemical/bme680_core.c
> index 7d9bb62baa3f..9d5a05e054d1 100644
> --- a/drivers/iio/chemical/bme680_core.c
> +++ b/drivers/iio/chemical/bme680_core.c
> @@ -852,6 +852,9 @@ static int bme680_write_raw(struct iio_dev *indio_dev,
>  {
>  	struct bme680_data *data = iio_priv(indio_dev);
>  
> +	if (val2 != 0)
> +		return -EINVAL;
> +
>  	switch (mask) {
>  	case IIO_CHAN_INFO_OVERSAMPLING_RATIO:
>  		switch (chan->type) {
Himanshu Jha Aug. 19, 2018, 5:10 p.m. UTC | #2
On Sun, Aug 19, 2018 at 05:25:14PM +0100, Jonathan Cameron wrote:
> On Sat, 11 Aug 2018 15:56:36 +0530
> Himanshu Jha <himanshujha199640@gmail.com> wrote:
> 
> > val2 is responsible for the floating part of the number to be
> > written to the device. We don't need the floating part
> > while writing the oversampling ratio for BME680 since the
> > available oversampling ratios are pure natural numbers.
> > 
> > So, add a sanity check to make sure val2 is 0.
> > 
> > Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>
> 
> As discussed in David's patch series v3, I think this is still relevant
> but now needs an update to cover the new code.

I already had informed David to reabse his series on top of my patch
and he rebased this patch series.

So, it should apply cleanly without any further effort.

If it doesn't, then ping me.
Jonathan Cameron Aug. 19, 2018, 7:08 p.m. UTC | #3
On Sun, 19 Aug 2018 22:40:14 +0530
Himanshu Jha <himanshujha199640@gmail.com> wrote:

> On Sun, Aug 19, 2018 at 05:25:14PM +0100, Jonathan Cameron wrote:
> > On Sat, 11 Aug 2018 15:56:36 +0530
> > Himanshu Jha <himanshujha199640@gmail.com> wrote:
> >   
> > > val2 is responsible for the floating part of the number to be
> > > written to the device. We don't need the floating part
> > > while writing the oversampling ratio for BME680 since the
> > > available oversampling ratios are pure natural numbers.
> > > 
> > > So, add a sanity check to make sure val2 is 0.
> > > 
> > > Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com>  
> > 
> > As discussed in David's patch series v3, I think this is still relevant
> > but now needs an update to cover the new code.  
> 
> I already had informed David to reabse his series on top of my patch
> and he rebased this patch series.
> 
> So, it should apply cleanly without any further effort.
> 
> If it doesn't, then ping me.

Meh, was only some trivial fuzz. I thought things had changed more than that
as hadn't noticed you just applied it at the top of write_raw as all the
things that can be written in this driver are integers.

Anyhow, applied now.  Thanks,

Jonathan
>
diff mbox series

Patch

diff --git a/drivers/iio/chemical/bme680_core.c b/drivers/iio/chemical/bme680_core.c
index 7d9bb62baa3f..9d5a05e054d1 100644
--- a/drivers/iio/chemical/bme680_core.c
+++ b/drivers/iio/chemical/bme680_core.c
@@ -852,6 +852,9 @@  static int bme680_write_raw(struct iio_dev *indio_dev,
 {
 	struct bme680_data *data = iio_priv(indio_dev);
 
+	if (val2 != 0)
+		return -EINVAL;
+
 	switch (mask) {
 	case IIO_CHAN_INFO_OVERSAMPLING_RATIO:
 		switch (chan->type) {