summaryrefslogtreecommitdiff
path: root/drivers/iio/chemical/sps30.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/chemical/sps30.c')
-rw-r--r--drivers/iio/chemical/sps30.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/iio/chemical/sps30.c b/drivers/iio/chemical/sps30.c
index 8e15baa31423..b47d08ab4d0f 100644
--- a/drivers/iio/chemical/sps30.c
+++ b/drivers/iio/chemical/sps30.c
@@ -15,6 +15,7 @@
#include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h>
#include <linux/kernel.h>
+#include <linux/kstrtox.h>
#include <linux/module.h>
#include "sps30.h"
@@ -193,7 +194,10 @@ static ssize_t start_cleaning_store(struct device *dev,
struct sps30_state *state = iio_priv(indio_dev);
int val, ret;
- if (kstrtoint(buf, 0, &val) || val != 1)
+ ret = kstrtoint(buf, 0, &val);
+ if (ret)
+ return ret;
+ if (val != 1)
return -EINVAL;
guard(mutex)(&state->lock);
@@ -230,8 +234,9 @@ static ssize_t cleaning_period_store(struct device *dev, struct device_attribute
struct sps30_state *state = iio_priv(indio_dev);
int val, ret;
- if (kstrtoint(buf, 0, &val))
- return -EINVAL;
+ ret = kstrtoint(buf, 0, &val);
+ if (ret)
+ return ret;
if ((val < SPS30_AUTO_CLEANING_PERIOD_MIN) ||
(val > SPS30_AUTO_CLEANING_PERIOD_MAX))