Subject: [PATCH V2] serial: imx: Fix suspend / resume.

From: [email-masked] (Martin Fuzzey)
Date: Fri, 8 Jan 2016 12:13:33 +0100

On 08/01/16 00:51, Fabio Estevam wrote:
> On Thu, Jan 7, 2016 at 9:17 PM, Fabio Estevam <[email-masked]> wrote:
>
>> [   39.487313] [<c05844d0>] (snd_soc_suspend) from [<c03c31f0>]
> Ok, in this case it is an ALSA issue, so will start a thread at the
> alsa mailing list.
Ah,

Just seen I have this in my tree for that:

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index a1305f8..a7ddf69 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -584,6 +584,9 @@ int snd_soc_suspend(struct device *dev)
         if (!card->instantiated)
                 return 0;

+       if (!card->snd_card)
+               return 0;
+
         /* Due to the resume being scheduled into a workqueue we could
         * suspend before that's finished - wait for it to complete.
          */
@@ -814,6 +817,9 @@ int snd_soc_resume(struct device *dev)
         if (!card->instantiated)
                 return 0;

+       if (!card->snd_card)
+               return 0;
+
         /* activate pins from sleep state */

I have that in my old 3.19 tree too so it's not new.

I didn't submit it because I haven't investigated further to see if it 
was just papering over the real problem..

Martin