Hi Jagath, url: https://github.com/intel-lab-lkp/linux/commits/Jagath-Jog-J/iio-accel-bma400-Add-buffer-step-and-activity-inactivity/20220412-043436 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: x86_64-randconfig-m001-20220411 (https://download.01.org/0day-ci/archive/20220412/202204121411.snZVqiMy-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.2.0-19) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> smatch warnings: drivers/iio/accel/bma400_core.c:1154 bma400_read_event_value() warn: impossible condition '(reg < 0) => (0-255 < 0)' drivers/iio/accel/bma400_core.c:1202 bma400_write_event_value() warn: impossible condition '(reg < 0) => (0-255 < 0)' vim +1154 drivers/iio/accel/bma400_core.c 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1142 static int bma400_read_event_value(struct iio_dev *indio_dev, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1143 const struct iio_chan_spec *chan, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1144 enum iio_event_type type, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1145 enum iio_event_direction dir, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1146 enum iio_event_info info, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1147 int *val, int *val2) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1148 { 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1149 struct bma400_data *data = iio_priv(indio_dev); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1150 int ret; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1151 u8 reg, duration[2]; ^^^^^^ 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1152 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1153 reg = get_gen_config_reg(dir); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 @1154 if (reg < 0) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1155 return -EINVAL; Condition is impossible. Also propagate the return? if (ret < 0) return ret;? 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1156 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1157 *val2 = 0; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1158 switch (info) { 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1159 case IIO_EV_INFO_VALUE: 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1160 mutex_lock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1161 ret = regmap_read(data->regmap, reg + BMA400_GEN_CONFIG2_OFF, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1162 val); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1163 mutex_unlock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1164 if (ret) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1165 return ret; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1166 return IIO_VAL_INT; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1167 case IIO_EV_INFO_PERIOD: 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1168 mutex_lock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1169 ret = regmap_bulk_read(data->regmap, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1170 reg + BMA400_GEN_CONFIG3_OFF, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1171 duration, sizeof(duration)); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1172 mutex_unlock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1173 if (ret) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1174 return ret; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1175 *val = get_unaligned_be16(duration); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1176 return IIO_VAL_INT; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1177 case IIO_EV_INFO_HYSTERESIS: 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1178 mutex_lock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1179 ret = regmap_read(data->regmap, reg, val); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1180 mutex_unlock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1181 if (ret) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1182 return ret; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1183 *val = FIELD_GET(BMA400_GEN_HYST_MSK, *val); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1184 return IIO_VAL_INT; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1185 default: 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1186 return -EINVAL; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1187 } 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1188 } 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1189 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1190 static int bma400_write_event_value(struct iio_dev *indio_dev, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1191 const struct iio_chan_spec *chan, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1192 enum iio_event_type type, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1193 enum iio_event_direction dir, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1194 enum iio_event_info info, 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1195 int val, int val2) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1196 { 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1197 struct bma400_data *data = iio_priv(indio_dev); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1198 int ret; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1199 u8 reg, duration[2]; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1200 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1201 reg = get_gen_config_reg(dir); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 @1202 if (reg < 0) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1203 return -EINVAL; Same. 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1204 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1205 switch (info) { 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1206 case IIO_EV_INFO_VALUE: 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1207 if (val < 1 || val > 255) 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1208 return -EINVAL; 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1209 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1210 mutex_lock(&data->mutex); 15ee6de45ed7a02 Jagath Jog J 2022-04-12 1211 ret = regmap_write(data->regmap, reg + BMA400_GEN_CONFIG2_OFF, -- 0-DAY CI Kernel Test Service https://01.org/lkp