Hi MyungJoo

On 03/07/18 12:57, MyungJoo Ham wrote:
>> @@ -988,12 +1030,13 @@ static ssize_t governor_store(struct device *dev, 
>> struct device_attribute *attr,
>>      if (ret != 1)
>>              return -EINVAL;
>>
>> -    mutex_lock(&devfreq_list_lock);
>> -    governor = find_devfreq_governor(str_governor);
>> +    governor = try_then_request_governor(str_governor);
>>      if (IS_ERR(governor)) {
>> -            ret = PTR_ERR(governor);
>> -            goto out;
>> +            return PTR_ERR(governor);
>>      }
>> +
>> +    mutex_lock(&devfreq_list_lock);
>> +
>>      if (df->governor == governor) {
>>              ret = 0;
>>              goto out;
>> -- 
> 
> The possibility that the result of try_then_request_governor is
> not kept protected until the line of
> "if (df->governor == governor)" is itching.
> 
> Can you make it kept "locked" from the return of
> find_devfreq_governor() (either in try_then... or in this function)
> to the unlock of governor_store()?
> 

Sure, I'll send v4 in a minute.

Thanks,
 Enric

> 
> Cheers,
> MyungJoo
> 

Reply via email to