Hi Morimoto-san,
#define for_each_component_dais(component, dai)\ diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index 14e175c..ee00c09 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c @@ -297,34 +297,55 @@ EXPORT_SYMBOL_GPL(snd_soc_component_set_jack); int snd_soc_component_module_get(struct snd_soc_component *component, int upon_open) {
if (component->module)
return 0;
if (component->driver->module_get_upon_open == !!upon_open && !try_module_get(component->dev->driver->owner)) return -ENODEV;
component->module = 1;
Maybe a red-herring but is there a potential for race conditions here if that function is called twice from different places? Don't we need some sort of lock for all the new flags introduced here?
Thanks -Pierre