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/