Re: iio/gyro/bmg160_core: Improve unlocking of a mutex in five functions
From: SF Markus Elfring
Date: Sun Mar 18 2018 - 04:20:34 EST
Am 17.03.2018 um 20:54 schrieb Jonathan Cameron:
> On Wed, 14 Mar 2018 16:15:32 +0100
> SF Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> wrote:
>
>> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
>> Date: Wed, 14 Mar 2018 16:06:49 +0100
>>
>> * Add jump targets so that a call of the function "mutex_unlock" is stored
>> only once in these function implementations.
>>
>> * Replace 19 calls by goto statements.
>>
>> This issue was detected by using the Coccinelle software.
>>
>> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
>
> Hi Markus,
>
> Some of these are good and sensible changes
Such feedback is nice.
> - others break the code.
Which concrete places do you find questionable here?
>> - return ret;
>> +
>> + goto set_power_state;
>> default:
>> return -EINVAL;
> We exit with the mutex locked now and it should not be.
I wonder about your source code interpretation here.
The mutex was (and is still only) locked within case branches, isn't it?
>
>> }
>>
>> return -EINVAL;
> Mutex is still locked here and the return is wrong.
Should this statement get any more software development attention?
Regards,
Markus