Re: [PATCH] hwmon: sht3x: initialize variable 'ret' in update_interval_write().

From: Guenter Roeck

Date: Sun Oct 12 2025 - 13:59:29 EST


On Sun, Oct 12, 2025 at 05:13:27PM +0530, Ranganath V N wrote:
> fix for the smatch errors:
> drivers/hwmon/sht3x.c:606 update_interval_write() error: uninitialized symbol 'ret'.
>
> The warning can occur when both the data->mode and mode which is
> derived from get_mode_from_update_interval() are zero.
> In this case, no i2c command is sent and ret remains undefined
> before reaching the coman return path.
>
> When both data->mode and mode are zero, the device remains in
> single shot mode and no configuration change is required.
> In such cases, it is correct to treat the operation as successful
> without issuing any i2c transfer.
>
> To address this, initialize 'ret' to 'SHT3X_CMD_LENGTH'. this makes
> the no-operation path return success while keeping the existing error
> to all other paths.
>
> This change removes the smatch errors. Tested by compiling.
>
> Signed-off-by: Ranganath V N <vnranganath.20@xxxxxxxxx>

Applied.

Guenter

> ---
> drivers/hwmon/sht3x.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>
> ---
> base-commit: e5f0a698b34ed76002dc5cff3804a61c80233a7a
> change-id: 20251012-my_driver_work-77b22c239e99
>
> Best regards,
>
> diff --git a/drivers/hwmon/sht3x.c b/drivers/hwmon/sht3x.c
> index 557ad3e7752a..4b52d57eaad8 100644
> --- a/drivers/hwmon/sht3x.c
> +++ b/drivers/hwmon/sht3x.c
> @@ -553,7 +553,7 @@ static int update_interval_read(struct device *dev)
> static int update_interval_write(struct device *dev, int val)
> {
> u8 mode;
> - int ret;
> + int ret = SHT3X_CMD_LENGTH;
> const char *command;
> struct sht3x_data *data = dev_get_drvdata(dev);
> struct i2c_client *client = data->client;