Re: [PATCH] iio: tmag5273: Fix runtime PM leak on measurement error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Am 14.04.2023 um 07:57 schrieb Nuno Sá:
> On Thu, 2023-04-13 at 18:37 -0700, Lars-Peter Clausen wrote:
>> The tmag5273 gets a runtime PM reference before reading a measurement
>> and
>> releases it when done. But if the measurement fails the
>> tmag5273_read_raw()
>> function exits before releasing the reference.
>>
>> Make sure that this error path also releases the runtime PM
>> reference.
>>
>> Fixes: 866a1389174b ("iio: magnetometer: add ti tmag5273 driver")
>> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
>> ---
> 
> Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx>
> 

Acked-by: Gerald Loacker <gerald.loacker@xxxxxxxxxxxxxx>

>>  drivers/iio/magnetometer/tmag5273.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/iio/magnetometer/tmag5273.c
>> b/drivers/iio/magnetometer/tmag5273.c
>> index 28bb7efe8df8..e155a75b3cd2 100644
>> --- a/drivers/iio/magnetometer/tmag5273.c
>> +++ b/drivers/iio/magnetometer/tmag5273.c
>> @@ -296,12 +296,13 @@ static int tmag5273_read_raw(struct iio_dev
>> *indio_dev,
>>                         return ret;
>>  
>>                 ret = tmag5273_get_measure(data, &t, &x, &y, &z,
>> &angle, &magnitude);
>> -               if (ret)
>> -                       return ret;
>>  
>>                 pm_runtime_mark_last_busy(data->dev);
>>                 pm_runtime_put_autosuspend(data->dev);
>>  
>> +               if (ret)
>> +                       return ret;
>> +
>>                 switch (chan->address) {
>>                 case TEMPERATURE:
>>                         *val = t;
> 



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux