rk616 codec: fixed rk616 codec shutdown function null pointer
authorqjb <qjb@rock-chips.com>
Mon, 7 Jul 2014 07:58:53 +0000 (15:58 +0800)
committerqjb <qjb@rock-chips.com>
Mon, 7 Jul 2014 07:58:53 +0000 (15:58 +0800)
sound/soc/codecs/rk616_codec.c

index c66c747deb7d0d2acfe01a6e9776b8167bf406f1..cd812be5a8ac933aec22f7b80c46f869f4eb8cfe 100755 (executable)
@@ -3243,8 +3243,14 @@ void rk616_platform_shutdown(struct platform_device *pdev)
        mdelay(10);
        snd_soc_write(codec, RK616_RESET, 0x3);
 
-       kfree(rk616);
-       rk616_priv = NULL;
+       if (rk616) {
+               kfree(rk616);
+               printk("rk616 = %d, rk616_priv = %d\n", rk616, rk616_priv);
+               if (rk616_priv) 
+                       rk616_priv = NULL;
+               rk616_codec_power_up(RK616_CODEC_PLAYBACK);
+       }
+
 }
 
 static struct platform_driver rk616_codec_driver = {