summaryrefslogtreecommitdiff
path: root/drivers/iio/light/tsl2583.c
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@intel.com>2021-05-26 09:40:54 -0400
committerRodrigo Vivi <rodrigo.vivi@intel.com>2021-05-26 09:40:54 -0400
commitabfe041de01f16d74df522d92cf5e3f6523971dd (patch)
tree1cd997085149cf09e110baa4f98725ed18ffa05a /drivers/iio/light/tsl2583.c
parent7bc188cc2c8c7b21bfa0782f0d22bbf245ce1f63 (diff)
parent9a91e5e0af5e03940d0eec72c36364a1701de240 (diff)
Merge drm/drm-next into drm-intel-next
Getting in sync with -rc2 Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/iio/light/tsl2583.c')
-rw-r--r--drivers/iio/light/tsl2583.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/iio/light/tsl2583.c b/drivers/iio/light/tsl2583.c
index 0f787bfc88fc..c9d8f07a6fcd 100644
--- a/drivers/iio/light/tsl2583.c
+++ b/drivers/iio/light/tsl2583.c
@@ -341,6 +341,14 @@ static int tsl2583_als_calibrate(struct iio_dev *indio_dev)
return lux_val;
}
+ /* Avoid division by zero of lux_value later on */
+ if (lux_val == 0) {
+ dev_err(&chip->client->dev,
+ "%s: lux_val of 0 will produce out of range trim_value\n",
+ __func__);
+ return -ENODATA;
+ }
+
gain_trim_val = (unsigned int)(((chip->als_settings.als_cal_target)
* chip->als_settings.als_gain_trim) / lux_val);
if ((gain_trim_val < 250) || (gain_trim_val > 4000)) {