alsa/0011-pcm-add-missing-break-in-switch.patch
Takashi Iwai bed9c86d2d Accepting request 122709 from home:tiwai:branches:multimedia:libs
- 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
2012-05-29 09:32:49 +00:00

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