Hi Sameer > +static bool soc_component_is_pcm(struct snd_soc_dai_link_component *dlc) > +{ > + struct snd_soc_dai *dai = snd_soc_find_dai(dlc); > + > + if (dai && (dai->component->driver->pcm_construct || > + dai->driver->pcm_new)) > + return true; > + > + return false; > +} (snip) > I tried testing this with LOCKDEP config enabled at my end. > It seems I don't see warning originated from above function. > Are you suggesting that, in general, snd_soc_find_dai() > should be called with client_mutex held? Hmm ? strange... snd_soc_find_dai() is using lockdep_assert_held() struct snd_soc_dai *snd_soc_find_dai(...) { ... => lockdep_assert_held(&client_mutex); ... } and lockdep_assert_held() will indicate WARN_ON() -- lockdep.h -- ... #ifdef CONFIG_LOCKDEP ... #define lockdep_assert_held(l) do { \ => WARN_ON(debug_locks && !lockdep_is_held(l)); \ } while (0) > May be snd_soc_dai_link_set_capabilities() requires similar fix? Yes, I'm posting fixup patch. https://patchwork.kernel.org/patch/11719919/ Thank you for your help !! Best regards --- Kuninori Morimoto