linux/sound/soc
Stephen Warren 82e14e8bdd ASoC: core: Don't schedule deferred_resume_work twice
For cards that have two or more DAIs, snd_soc_resume's loop over all
DAIs ends up calling schedule_work(deferred_resume_work) once per DAI.
Since this is the same work item each time, the 2nd and subsequent
calls return 0 (work item already queued), and trigger the dev_err
message below stating that a work item may have been lost.

Solve this by adjusting the loop to simply calculate whether to run the
resume work immediately or defer it, and then call schedule work (or not)
one time based on that.

Note: This has not been tested in mainline, but only in chromeos-2.6.38;
mainline doesn't support suspend/resume on Tegra, nor does the mainline
Tegra ASoC driver contain multiple DAIs. It has been compile-checked in
mainline.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-05-26 22:06:08 +08:00
..
atmel ASoC: Merge branch 'for-2.6.39' into for-2.6.40 2011-04-18 18:07:43 +01:00
au1x ASoC: Remove -codec from WM8731 driver name 2011-03-30 07:15:33 +09:00
blackfin ASoC: Blackfin: push down SPORT settings from global variables 2011-03-30 07:20:05 +09:00
codecs ASoC: Fix comment in cs4270 codec driver 2011-05-26 09:26:22 +08:00
davinci ASoC: davinci-pcm: comments for the conversion to BATCH mode 2011-05-25 22:59:07 +08:00
ep93xx ASoC: Enable 192kHz sample rate for EP93xx. 2011-03-09 13:08:42 +00:00
fsl Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-03-18 10:46:37 -07:00
imx ASoC: Merge branch 'for-2.6.39' into for-2.6.40 2011-04-18 18:07:43 +01:00
jz4740 Merge branch 'for-2.6.39' into for-2.6.40 2011-05-03 19:07:45 +01:00
kirkwood Fix common misspellings 2011-03-31 11:26:23 -03:00
mid-x86 Merge branch 'for-2.6.39' into for-2.6.40 2011-05-03 23:30:36 +01:00
nuc900 Merge branch 'for-2.6.37' into for-2.6.38 2010-11-30 11:35:43 +00:00
omap Fix common misspellings 2011-03-31 11:26:23 -03:00
pxa ASoC: Properly handle spitz MIC GPIO 2011-04-03 22:11:09 +09:00
s6000 ASoC: Remove needless inclusion of tlv320aic3x.h from machine drivers 2011-01-05 11:28:50 +00:00
samsung ASoC: Don't specify the DMA driver for Goni baseband link 2011-04-28 12:11:06 +01:00
sh ASoC: sh: fsi: add fsi_hw_startup/shutdown 2011-05-24 18:42:07 +08:00
tegra ASoC: tegra: TrimSlice machine support 2011-05-03 18:42:44 +01:00
txx9 ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
Kconfig ASoC: tegra: Kconfig and Makefile 2011-01-10 22:21:09 +00:00
Makefile ASoC: tegra: Kconfig and Makefile 2011-01-10 22:21:09 +00:00
soc-cache.c ASoC: Convert 16x16 write to use cpu_to_be16() 2011-05-24 18:41:09 +08:00
soc-core.c ASoC: core: Don't schedule deferred_resume_work twice 2011-05-26 22:06:08 +08:00
soc-dapm.c ASoC: Implement mux control sharing 2011-05-03 19:29:15 +01:00
soc-jack.c ASoC: Merge branch 'for-2.6.39' into for-2.6.40 2011-04-18 18:07:43 +01:00
soc-utils.c ASoC: Work around allmodconfig failure 2011-04-28 12:09:06 +01:00