If we're returning because "reg >= HX9023S_CH_NUM" then set the error code to -ENIVAL instead of success. Fixes: 60df548277b7 ("iio: proximity: Add driver support for TYHX's HX9023S capacitive proximity sensor") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- drivers/iio/proximity/hx9023s.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/iio/proximity/hx9023s.c b/drivers/iio/proximity/hx9023s.c index fe14a62a1342..8b9f84400e00 100644 --- a/drivers/iio/proximity/hx9023s.c +++ b/drivers/iio/proximity/hx9023s.c @@ -598,7 +598,8 @@ static int hx9023s_property_get(struct hx9023s_data *data) device_for_each_child_node_scoped(dev, child) { ret = fwnode_property_read_u32(child, "reg", ®); if (ret || reg >= HX9023S_CH_NUM) - return dev_err_probe(dev, ret, "Failed to read reg\n"); + return dev_err_probe(dev, ret < 0 ? ret : -EINVAL, + "Failed to read reg\n"); __set_bit(reg, &data->chan_in_use); ret = fwnode_property_read_u32(child, "single-channel", &temp); -- 2.43.0