linux/sound/soc
Liam Girdwood 965ac42ce9 [ALSA] ASoC force running of delayed PM work at suspend() and remove()
This patch fixes a bug whereby the power management delayed work would
never be run at driver suspend() or module remove(). Delayed work would
be created (after audio had finished) with a long delay (~5 secs) and
was sometimes never queued before flush_scheduled_work() was being
called at suspend or module remove. This caused the delayed work to
queued after the module had been removed or after resume.
This patch forces any delayed work to complete by cancelling it (timer
cannot fire and add it to queue later), scheduling it for now and
waiting on it's completion.
This is something I probably would like to add to workqueue.c in the
next merge window, however it's here atm because it can oops.

Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09 09:03:27 +01:00
..
at91 [ALSA] ASoC at91 - Fix NULL pointer dereference in at91_i2s_shutdown 2007-02-09 09:02:54 +01:00
codecs [ALSA] ASoC WM8731 support for 32k @ 12MHz sysclk 2007-02-09 09:03:23 +01:00
pxa [ALSA] Fix AC97_BUS in soc/pxa/Kconfig 2007-02-09 09:02:28 +01:00
Kconfig [ALSA] ASoC pxa2xx build support 2007-02-09 09:00:50 +01:00
Makefile [ALSA] ASoC pxa2xx build support 2007-02-09 09:00:50 +01:00
soc-core.c [ALSA] ASoC force running of delayed PM work at suspend() and remove() 2007-02-09 09:03:27 +01:00
soc-dapm.c [ALSA] Solve typos/compilation problems for debug functions in soc-dapm and at91-i2s 2007-02-09 09:02:52 +01:00