linux/sound/i2c/other
Takashi Iwai 544d7ed59e ALSA: ak411x: Fix stall in work callback
commit 4161b4505f 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>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-02-10 13:38:44 +00:00
..
ak4xxx-adda.c ALSA: Use strlcpy() instead of strncpy() 2013-10-29 15:26:12 +01:00
ak4113.c ALSA: ak411x: Fix stall in work callback 2015-02-10 13:38:44 +00:00
ak4114.c ALSA: ak411x: Fix stall in work callback 2015-02-10 13:38:44 +00:00
ak4117.c ALSA: ak4117: Do not free priv until timer handler hasn't actually stopped using it 2014-02-14 14:41:52 +01:00
Makefile [media] tea575x: Move from sound to media 2013-08-18 08:09:59 -03:00
pt2258.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00