aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/control.c4
-rw-r--r--sound/core/info.c5
2 files changed, 4 insertions, 5 deletions
diff --git a/sound/core/control.c b/sound/core/control.c
index 6973a9686b67..48ef0a09a7a7 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -1018,10 +1018,6 @@ static int snd_ctl_elem_add(struct snd_ctl_file *file,
1018 } 1018 }
1019 switch (info->type) { 1019 switch (info->type) {
1020 case SNDRV_CTL_ELEM_TYPE_BOOLEAN: 1020 case SNDRV_CTL_ELEM_TYPE_BOOLEAN:
1021 private_size = sizeof(char);
1022 if (info->count > 128)
1023 return -EINVAL;
1024 break;
1025 case SNDRV_CTL_ELEM_TYPE_INTEGER: 1021 case SNDRV_CTL_ELEM_TYPE_INTEGER:
1026 private_size = sizeof(long); 1022 private_size = sizeof(long);
1027 if (info->count > 128) 1023 if (info->count > 128)
diff --git a/sound/core/info.c b/sound/core/info.c
index e43662b33f16..0b4aab3225e5 100644
--- a/sound/core/info.c
+++ b/sound/core/info.c
@@ -120,7 +120,10 @@ int snd_iprintf(struct snd_info_buffer *buffer, char *fmt,...)
120 len = buffer->len - buffer->size; 120 len = buffer->len - buffer->size;
121 va_start(args, fmt); 121 va_start(args, fmt);
122 for (;;) { 122 for (;;) {
123 res = vsnprintf(buffer->buffer + buffer->curr, len, fmt, args); 123 va_list ap;
124 va_copy(ap, args);
125 res = vsnprintf(buffer->buffer + buffer->curr, len, fmt, ap);
126 va_end(ap);
124 if (res < len) 127 if (res < len)
125 break; 128 break;
126 err = resize_info_buffer(buffer, buffer->len + PAGE_SIZE); 129 err = resize_info_buffer(buffer, buffer->len + PAGE_SIZE);