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

Reply via email to