[alsa-devel] [for 2.6.34][PATCH] ALSA: pcm_lib - fix xrun functionality
Takashi Iwai
tiwai at suse.de
Fri Mar 26 15:29:56 CET 2010
At Fri, 26 Mar 2010 16:07:25 +0200,
Jarkko Nikula wrote:
>
> The commit 4d96eb255c53ab5e39b37fd4d484ea3dc39ab456 broke the interrupt
> time xrun functionality (stream stop etc.) if the CONFIG_SND_PCM_XRUN_DEBUG
> is not set. This is because the xrun() is null defined without it.
>
> Fix this by letting the function xrun() to be always defined as it was
> before.
Thanks, that's likely the problem Pavel has seen, but never reproduced
on Jaroslav or my machine.
Applied now to sound git tree.
Takashi
> Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
> Cc: Jaroslav Kysela <perex at perex.cz>
> ---
> sound/core/pcm_lib.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
> index b546ac2..a2ff861 100644
> --- a/sound/core/pcm_lib.c
> +++ b/sound/core/pcm_lib.c
> @@ -148,6 +148,9 @@ static void pcm_debug_name(struct snd_pcm_substream *substream,
>
> #define xrun_debug(substream, mask) \
> ((substream)->pstr->xrun_debug & (mask))
> +#else
> +#define xrun_debug(substream, mask) 0
> +#endif
>
> #define dump_stack_on_xrun(substream) do { \
> if (xrun_debug(substream, XRUN_DEBUG_STACK)) \
> @@ -169,6 +172,7 @@ static void xrun(struct snd_pcm_substream *substream)
> }
> }
>
> +#ifdef CONFIG_SND_PCM_XRUN_DEBUG
> #define hw_ptr_error(substream, fmt, args...) \
> do { \
> if (xrun_debug(substream, XRUN_DEBUG_BASIC)) { \
> @@ -255,8 +259,6 @@ static void xrun_log_show(struct snd_pcm_substream *substream)
>
> #else /* ! CONFIG_SND_PCM_XRUN_DEBUG */
>
> -#define xrun_debug(substream, mask) 0
> -#define xrun(substream) do { } while (0)
> #define hw_ptr_error(substream, fmt, args...) do { } while (0)
> #define xrun_log(substream, pos) do { } while (0)
> #define xrun_log_show(substream) do { } while (0)
> --
> 1.7.0
>
More information about the Alsa-devel
mailing list