summaryrefslogtreecommitdiffstats
path: root/sound/core/control.c
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2015-02-10 00:01:45 +0900
committerTakashi Iwai <tiwai@suse.de>2015-02-09 16:23:25 +0100
commite6ff3840dc844027bc81d0490e7bc22d03598429 (patch)
tree9abc437c0f73ec9ba8a561012ca6f476c4d0f08f /sound/core/control.c
parentea33d359c4421f369443f6fee92a1e893541eb73 (diff)
downloadlinux-e6ff3840dc844027bc81d0490e7bc22d03598429.tar.gz
linux-e6ff3840dc844027bc81d0490e7bc22d03598429.tar.bz2
linux-e6ff3840dc844027bc81d0490e7bc22d03598429.zip
ALSA: control: fix failure to return new numerical ID in 'replace' event data
In 'replace' event data, numerical ID of control is always invalid. This commit fix this bug so as the event data has renewed numerical ID for control. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/control.c')
-rw-r--r--sound/core/control.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/core/control.c b/sound/core/control.c
index 8aae6eaa3564..35324a8e83c8 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -440,6 +440,7 @@ add:
card->controls_count += kcontrol->count;
kcontrol->id.numid = card->last_numid + 1;
card->last_numid += kcontrol->count;
+ id = kcontrol->id;
count = kcontrol->count;
up_write(&card->controls_rwsem);
for (idx = 0; idx < count; idx++, id.index++, id.numid++)