#2478: linux 2.6.39: alsa state not correctly restored in resume ---------------------+------------------------------------------------------ Reporter: lindi | Owner: openmoko-kernel Type: defect | Status: new Priority: high | Milestone: Component: kernel | Version: Severity: blocker | Keywords: kernel alsa suspend resume linux 2.6.39 Haspatch: 0 | Blockedby: Estimated: | Patchreview: Blocking: | Reproducible: always ---------------------+------------------------------------------------------
Comment(by GNUtoo): The fix doesn't work for me: On serial console(with apm -s in the middle): {{{ root@om-gta02:~# speaker-test -t sine speaker-test 1.0.24.2 Playback device is default Stream parameters are 48000Hz, S16_LE, 1 channels Sine wave rate is 440.0000Hz Rate set to 48000Hz (requested 48000Hz) Buffer size range from 2048 to 16384 Period size range from 1024 to 1024 Using max buffer size 16384 Periods = 4 was set period_size = 1024 was set buffer_size = 16384 0 - Front Left Time per period = 2.845838 0 - Front Left T[ 96.155000] soc-audio soc-audio: resume work item may be lost Write error: -86,Streams pipe error [ 96.260000] dma2: channel has nothing loaded }}} I applied that patch to meta-smartphone: {{{ diff --git a/meta-openmoko/recipes-kernel/linux/linux-2.6.39/shr.patch b /meta-openmoko/recipes-kernel/linux/linux-2.6.39/shr.patch index 65d087c..efa59e7 100644 --- a/meta-openmoko/recipes-kernel/linux/linux-2.6.39/shr.patch +++ b/meta-openmoko/recipes-kernel/linux/linux-2.6.39/shr.patch @@ -3,6 +3,7 @@ rebased on top of openmoko kernel repository (om-2.6.39-stable) https://gitorious.org/shr/linux/commits/shr-2.6.39-nodrm +31bdfe1: ASOC: samsung: neo1973_wm8753.c: fix openmoko bug #2478 b851f9f: glamo-mci: disable glamo_mci_pre_request & glamo_mci_post_request 6e1d25a: shr-create-patch.sh: utility used to generate shr.patch for meta-smartphone 352f236: wm8753: Workaround toolchain bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48783 @@ -2401,7 +2402,7 @@ index 8275a2f..8e3e56e 100644 #endif /* __GLAMO_CORE_H */ diff --git a/shr-create-patch.sh b/shr-create-patch.sh new file mode 100755 -index 0000000..b251946 +index 0000000..a09d4c2 --- /dev/null +++ b/shr-create-patch.sh @@ -0,0 +1,12 @@ @@ -2413,9 +2414,9 @@ index 0000000..b251946 + +https://gitorious.org/shr/linux/commits/shr-2.6.39-nodrm + -+$(git log --pretty=format:"%h: %s" gitorious/om-2.6.39-stable..) ++$(git log --pretty=format:"%h: %s" d09e21824bacd5f9ac0285c14c6ddc2d79b96608..) + -+$(git diff om-2.6.39-stable) ++$(git diff d09e21824bacd5f9ac0285c14c6ddc2d79b96608) +EOF diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c index ffa2ffe..69c499a 100644 @@ -2441,7 +2442,7 @@ index ffa2ffe..69c499a 100644 { u64 Kpart; diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c -index 4f845fe..a3a1cc8 100644 +index 4f845fe..a7095d9 100644 --- a/sound/soc/samsung/neo1973_wm8753.c +++ b/sound/soc/samsung/neo1973_wm8753.c @@ -19,6 +19,7 @@ @@ -2507,7 +2508,20 @@ index 4f845fe..a3a1cc8 100644 return 0; } -@@ -527,6 +569,7 @@ module_init(neo1973_init); +@@ -358,12 +400,6 @@ static int neo1973_wm8753_init(struct snd_soc_pcm_runtime *rtd) + snd_soc_dapm_disable_pin(dapm, "Headset Mic"); + snd_soc_dapm_disable_pin(dapm, "Handset Mic"); + +- /* allow audio paths from the GSM modem to run during suspend */ +- snd_soc_dapm_ignore_suspend(dapm, "GSM Line Out"); +- snd_soc_dapm_ignore_suspend(dapm, "GSM Line In"); +- snd_soc_dapm_ignore_suspend(dapm, "Headset Mic"); +- snd_soc_dapm_ignore_suspend(dapm, "Handset Mic"); +- + if (machine_is_neo1973_gta02()) { + ret = neo1973_gta02_wm8753_init(codec); + if (ret) +@@ -527,6 +563,7 @@ module_init(neo1973_init); static void __exit neo1973_exit(void) { diff --git a/meta-openmoko/recipes-kernel/linux/linux_2.6.39.bb b/meta- openmoko/recipes-kernel/linux/linux_2.6.39.bb index beebcec..0ff4433 100644 --- a/meta-openmoko/recipes-kernel/linux/linux_2.6.39.bb +++ b/meta-openmoko/recipes-kernel/linux/linux_2.6.39.bb @@ -1,6 +1,6 @@ require linux.inc -PR = "r6" +PR = "r7" # Mark archs/machines that this kernel supports DEFAULT_PREFERENCE = "-1" }}} And build fso2-console-image and did the test mentioned above. -- Ticket URL: <https://docs.openmoko.org/trac/ticket/2478#comment:11> docs.openmoko.org <http://docs.openmoko.org/trac/> openmoko trac