Thanks for the review, On 05/03/18 15:52, Mark Brown wrote:
On Mon, Mar 05, 2018 at 12:32:13PM +0000, [email protected] wrote:+int dapm_pinctrl_event(struct snd_soc_dapm_widget *w, + struct snd_kcontrol *kcontrol, int event) +{ + struct snd_soc_dapm_pinctrl_priv *priv = w->priv; + struct pinctrl *p = w->pinctrl; + struct pinctrl_state *s; + + if (!p || !priv) + return -EIO; + + soc_dapm_async_complete(w->dapm);This doesn't look right - we're trying to synchronize with the DAPM async queue from something that should be run inside that very queue. What is this supposed to be doing?
I thought this is supposed to ensure that any pending asynchronous I/O is completed before touching pinctrl framework.
TBH, I have done this inline with regulators/clk dapm events. --srini

