]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50
authorGiuliano Pochini <pochini@shiny.it>
Tue, 16 Feb 2010 23:57:44 +0000 (00:57 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Aug 2010 17:21:26 +0000 (10:21 -0700)
commitac633f17d4a5030d5924c1a85bbcde1ad42c3998
treea83b93c6848d258d5a79d7bc1d1c8ff52d2d7cc3
parentddcd49b943272f275e890e9c1c06cfdbc0a899e3
ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50

commit b721e68bdc5b39c51bf6a1469f8d3663fbe03243 upstream.

This patch fixes a division by zero error in the irq handler.

There is a small window between the hw_params() callback and when
runtime->frame_bits is set by ALSA middle layer. When another substream is
already running, if an interrupt is delivered during that window the irq
handler calls pcm_pointer() which does a division by zero. The patch below
makes the irq handler skip substreams that are initialized but not started
yet. Cc to Clemens Ladisch because he proposed an alternate fix.

For more information, please read the original thread in the linux-kernel
mailing list: http://lkml.org/lkml/2010/2/2/187

Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/pci/echoaudio/echoaudio.c