Commit c78497e0 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai

ALSA: ctl: confirm to return all identical information in 'activate' event

When event originator doesn't set numerical ID in identical information,
the event data includes no numerical ID, thus userspace applications
cannot identify the control just by unique ID in event data.

This commit fix this bug so as the event data includes all of identical
information.
Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent fa863b2d
...@@ -578,6 +578,7 @@ static int snd_ctl_remove_user_ctl(struct snd_ctl_file * file, ...@@ -578,6 +578,7 @@ static int snd_ctl_remove_user_ctl(struct snd_ctl_file * file,
* *
* Finds the control instance with the given id, and activate or * Finds the control instance with the given id, and activate or
* inactivate the control together with notification, if changed. * inactivate the control together with notification, if changed.
* The given ID data is filled with full information.
* *
* Return: 0 if unchanged, 1 if changed, or a negative error code on failure. * Return: 0 if unchanged, 1 if changed, or a negative error code on failure.
*/ */
...@@ -607,6 +608,7 @@ int snd_ctl_activate_id(struct snd_card *card, struct snd_ctl_elem_id *id, ...@@ -607,6 +608,7 @@ int snd_ctl_activate_id(struct snd_card *card, struct snd_ctl_elem_id *id,
goto unlock; goto unlock;
vd->access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; vd->access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
} }
snd_ctl_build_ioff(id, kctl, index_offset);
ret = 1; ret = 1;
unlock: unlock:
up_write(&card->controls_rwsem); up_write(&card->controls_rwsem);
......
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