android_kernel_google_msm/sound/i2c
Takashi Iwai 574b59db65 ALSA: ak411x: Fix stall in work callback
commit 4161b4505f1690358ac0a9ee59845a7887336b21 upstream.

When ak4114 work calls its callback and the callback invokes
ak4114_reinit(), it stalls due to flush_delayed_work().  For avoiding
this, control the reentrance by introducing a refcount.  Also
flush_delayed_work() is replaced with cancel_delayed_work_sync().

The exactly same bug is present in ak4113.c and fixed as well.

Reported-by: Pavel Hofman <pavel.hofman@ivitera.com>
Acked-by: Jaroslav Kysela <perex@perex.cz>
Tested-by: Pavel Hofman <pavel.hofman@ivitera.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
[lizf: Backported to 3.4: snd_ak4113_reinit() and snd_ak4114_reinit()
used flush_delayed_work_sync() instead of flush_delayed_work()]
Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-04-14 17:33:59 +08:00
..
other ALSA: ak411x: Fix stall in work callback 2015-04-14 17:33:59 +08:00
Makefile
cs8427.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
i2c.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
tea6330t.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00