diff options
Diffstat (limited to 'sound/core/oss/mixer_oss.c')
-rw-r--r-- | sound/core/oss/mixer_oss.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c index 18297f7f2c55..29f6ded02555 100644 --- a/sound/core/oss/mixer_oss.c +++ b/sound/core/oss/mixer_oss.c | |||
@@ -1046,6 +1046,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss *mixer, struct snd_mix | |||
1046 | 1046 | ||
1047 | if (kctl->info(kctl, uinfo)) { | 1047 | if (kctl->info(kctl, uinfo)) { |
1048 | up_read(&mixer->card->controls_rwsem); | 1048 | up_read(&mixer->card->controls_rwsem); |
1049 | kfree(uinfo); | ||
1049 | return 0; | 1050 | return 0; |
1050 | } | 1051 | } |
1051 | strcpy(str, ptr->name); | 1052 | strcpy(str, ptr->name); |
@@ -1061,6 +1062,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss *mixer, struct snd_mix | |||
1061 | uinfo->value.enumerated.item = slot.capture_item; | 1062 | uinfo->value.enumerated.item = slot.capture_item; |
1062 | if (kctl->info(kctl, uinfo)) { | 1063 | if (kctl->info(kctl, uinfo)) { |
1063 | up_read(&mixer->card->controls_rwsem); | 1064 | up_read(&mixer->card->controls_rwsem); |
1065 | kfree(uinfo); | ||
1064 | return 0; | 1066 | return 0; |
1065 | } | 1067 | } |
1066 | if (!strcmp(uinfo->value.enumerated.name, str)) { | 1068 | if (!strcmp(uinfo->value.enumerated.name, str)) { |