From efeb7fa77178d5e96cc1349d3767b921b1920276 Mon Sep 17 00:00:00 2001 From: Krzysztof Chruscinski Date: Fri, 3 Jan 2020 11:14:55 +0100 Subject: [PATCH] drivers: sensor: hts221: Return error on not supported channel When asserts were disabled then sensor accepted any channel in hts221_channel_get(). Changed to return -ENOTSUP when invalid channel is provided. Signed-off-by: Krzysztof Chruscinski --- drivers/sensor/hts221/hts221.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/sensor/hts221/hts221.c b/drivers/sensor/hts221/hts221.c index c2e8aa72e26..7db2079f939 100644 --- a/drivers/sensor/hts221/hts221.c +++ b/drivers/sensor/hts221/hts221.c @@ -27,9 +27,6 @@ static int hts221_channel_get(struct device *dev, struct hts221_data *drv_data = dev->driver_data; s32_t conv_val; - __ASSERT_NO_MSG(chan == SENSOR_CHAN_AMBIENT_TEMP || - chan == SENSOR_CHAN_HUMIDITY); - /* * see "Interpreting humidity and temperature readings" document * for more details @@ -44,7 +41,7 @@ static int hts221_channel_get(struct device *dev, /* convert temperature x8 to degrees Celsius */ val->val1 = conv_val / 8; val->val2 = (conv_val % 8) * (1000000 / 8); - } else { /* SENSOR_CHAN_HUMIDITY */ + } else if (chan == SENSOR_CHAN_HUMIDITY) { conv_val = (s32_t)(drv_data->h1_rh_x2 - drv_data->h0_rh_x2) * (drv_data->rh_sample - drv_data->h0_t0_out) / (drv_data->h1_t0_out - drv_data->h0_t0_out) + @@ -53,6 +50,8 @@ static int hts221_channel_get(struct device *dev, /* convert humidity x2 to percent */ val->val1 = conv_val / 2; val->val2 = (conv_val % 2) * 500000; + } else { + return -ENOTSUP; } return 0;