iio: light: gp2ap020a00f: Fix possible error swallow

Move error check into for loop in gp2ap020a00f_buffer_postenable() and
gp2ap020a00f_buffer_predisable(), this fixes a possible error swallow.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Ethan Tidmore 2026-02-22 21:40:15 -06:00 committed by Jonathan Cameron
parent f6d460ec01
commit 550f5c0104

View File

@ -1339,7 +1339,7 @@ static const struct iio_info gp2ap020a00f_info = {
static int gp2ap020a00f_buffer_postenable(struct iio_dev *indio_dev)
{
struct gp2ap020a00f_data *data = iio_priv(indio_dev);
int i, err = 0;
int i, err;
guard(mutex)(&data->lock);
@ -1365,12 +1365,14 @@ static int gp2ap020a00f_buffer_postenable(struct iio_dev *indio_dev)
err = gp2ap020a00f_exec_cmd(data,
GP2AP020A00F_CMD_TRIGGER_PROX_EN);
break;
default:
err = -EINVAL;
break;
}
if (err)
return err;
}
if (err < 0)
return err;
data->buffer = kmalloc(indio_dev->scan_bytes, GFP_KERNEL);
if (!data->buffer)
return -ENOMEM;
@ -1381,7 +1383,7 @@ static int gp2ap020a00f_buffer_postenable(struct iio_dev *indio_dev)
static int gp2ap020a00f_buffer_predisable(struct iio_dev *indio_dev)
{
struct gp2ap020a00f_data *data = iio_priv(indio_dev);
int i, err = 0;
int i, err;
guard(mutex)(&data->lock);
@ -1399,12 +1401,14 @@ static int gp2ap020a00f_buffer_predisable(struct iio_dev *indio_dev)
err = gp2ap020a00f_exec_cmd(data,
GP2AP020A00F_CMD_TRIGGER_PROX_DIS);
break;
default:
err = -EINVAL;
break;
}
if (err)
return err;
}
if (err)
return err;
kfree(data->buffer);
return 0;
}