Commit e6dc243c authored by Takashi Iwai's avatar Takashi Iwai Committed by Greg Kroah-Hartman

ALSA: pcm: Don't treat NULL chmap as a fatal error

commit 2deaeaf1 upstream.

The standard PCM chmap helper callbacks treat the NULL info->chmap as
a fatal error and spews the kernel warning with stack trace when
CONFIG_SND_DEBUG is on.  This was OK, originally it was supposed to be
always static and non-NULL.  But, as the recent addition of Intel LPE
audio driver shows, the chmap content may vary dynamically, and it can
be even NULL when disconnected.  The user still sees the kernel
warning unnecessarily.

For clearing such a confusion, this patch simply removes the
snd_BUG_ON() in each place, just returns an error without warning.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c06718bc
...@@ -2492,7 +2492,7 @@ static int pcm_chmap_ctl_get(struct snd_kcontrol *kcontrol, ...@@ -2492,7 +2492,7 @@ static int pcm_chmap_ctl_get(struct snd_kcontrol *kcontrol,
struct snd_pcm_substream *substream; struct snd_pcm_substream *substream;
const struct snd_pcm_chmap_elem *map; const struct snd_pcm_chmap_elem *map;
if (snd_BUG_ON(!info->chmap)) if (!info->chmap)
return -EINVAL; return -EINVAL;
substream = snd_pcm_chmap_substream(info, idx); substream = snd_pcm_chmap_substream(info, idx);
if (!substream) if (!substream)
...@@ -2524,7 +2524,7 @@ static int pcm_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag, ...@@ -2524,7 +2524,7 @@ static int pcm_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag,
unsigned int __user *dst; unsigned int __user *dst;
int c, count = 0; int c, count = 0;
if (snd_BUG_ON(!info->chmap)) if (!info->chmap)
return -EINVAL; return -EINVAL;
if (size < 8) if (size < 8)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment