[alsa-devel] [PATCH 03/43] ALSA: control: Allow to pass items zero to snd_ctl_enum_info()

Takashi Iwai tiwai at suse.de
Tue Oct 21 12:10:39 CEST 2014


Although this is weird, some drivers want to allow empty control
elements intentionally, e.g. the number of items may change depending
on the firmware status.  Let the function simply returning in such a
case.

Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 sound/core/control.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/core/control.c b/sound/core/control.c
index f95df84437e1..5c35bbaf881e 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -1745,6 +1745,8 @@ int snd_ctl_enum_info(struct snd_ctl_elem_info *info, unsigned int channels,
 	info->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
 	info->count = channels;
 	info->value.enumerated.items = items;
+	if (!items)
+		return 0;
 	if (info->value.enumerated.item >= items)
 		info->value.enumerated.item = items - 1;
 	WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name),
-- 
2.1.2



More information about the Alsa-devel mailing list