Hello Mark,

On 07/15/2015 01:27 PM, Mark Brown wrote:
> On Wed, Jul 15, 2015 at 10:38:38AM +0200, Javier Martinez Canillas wrote:
>> On 07/15/2015 10:01 AM, Krzysztof Kozlowski wrote:
> 
>>> The _regulator_put() reverts more work than create_regulator() did,
>>> e.g.: module_put and rdev->open_count--. Maybe you need a
>>> destroy_regulator() function?
> 
>> Yes, it reverts more work than create_regulator() but the intention is to
>> revert what set_supply() did. If you look at the set_supply() function,
>> it does supply_rdev->open_count++.
> 
>> I did indeed missed the module_put() but now looking at the code again, I
> 
> Me too, I've dropped the patch.  At first glance everything looked safe
> for multiple calls.
>

Ok.
 
>> wonder if the problem is not that set_supply() is missing a try_module_get()
>> to be consistent with what the _regulator_get() function does.
> 
> The problem is more that it's a separate implementation and not just
> using _regulator_get() I think.  A separate, rarely used, path is likely
> to have this sort of issue.
>

Exactly, do you agree then that a try_module_get() is missing in set_supply()?

It is OK if I add that in the same patch in v2 or do you prefer that to be
in a separate patch?

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to