- backport upstream fixes: * Add support for Echo3G devices * Blacklist iec958 for some USB devices * Remove redundant CHECK_ENUM() from snd_mixer_selem_is_enum*() * Document fixes / updates * Add ability to specify TLV data to external control plugins * Fix invalid long long format specifier * Fix missing break in PCM non-interleaved mmap handling * improve robustness of TLV raw value ranges OBS-URL: https://build.opensuse.org/request/show/122709 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=101
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From b7334b1a81994bf3005a8999dd779c85683f86c0 Mon Sep 17 00:00:00 2001
|
|
From: Antonio Borneo <borneo.antonio@gmail.com>
|
|
Date: Sun, 13 May 2012 00:06:23 +0800
|
|
Subject: [PATCH 11/14] pcm: add missing "break" in "switch"
|
|
|
|
A missing "break" in procedure snd_pcm_write_mmap() causes
|
|
execution of "case SND_PCM_ACCESS_MMAP_NONINTERLEAVED" to
|
|
fall through next "default" case of the "switch" statement.
|
|
Since "default" handles error cases, the procedure returns
|
|
error.
|
|
|
|
The error fixed by this patch blocks transfer of capture
|
|
data from kernel to application. Execution get stuck in
|
|
alsa-lib, that discards all received data.
|
|
|
|
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
src/pcm/pcm_mmap.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/src/pcm/pcm_mmap.c b/src/pcm/pcm_mmap.c
|
|
index 6b44050..83e74e5 100644
|
|
--- a/src/pcm/pcm_mmap.c
|
|
+++ b/src/pcm/pcm_mmap.c
|
|
@@ -622,6 +622,7 @@ snd_pcm_sframes_t snd_pcm_read_mmap(snd_pcm_t *pcm, snd_pcm_uframes_t offset,
|
|
err = _snd_pcm_readn(pcm->fast_op_arg, bufs, frames);
|
|
if (err >= 0)
|
|
frames = err;
|
|
+ break;
|
|
}
|
|
default:
|
|
SNDMSG("invalid access type %d", pcm->access);
|
|
--
|
|
1.7.9.2
|
|
|