ALSA: usb-audio: uac1: Invalidate ctl on interrupt
When an interrupt occurs, the value of at least one of the belonging controls should have changed. To make sure they get re-read from device on the next read, invalidate the cache. This was correctly implemented for uac2 already, but missing for uac1. Signed-off-by: Julian Scheel <julian@jusst.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3aabf94c2d
commit
b2500b584c
@ -2330,9 +2330,14 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid)
|
||||
{
|
||||
struct usb_mixer_elem_list *list;
|
||||
|
||||
for (list = mixer->id_elems[unitid]; list; list = list->next_id_elem)
|
||||
for (list = mixer->id_elems[unitid]; list; list = list->next_id_elem) {
|
||||
struct usb_mixer_elem_info *info =
|
||||
(struct usb_mixer_elem_info *)list;
|
||||
/* invalidate cache, so the value is read from the device */
|
||||
info->cached = 0;
|
||||
snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
|
||||
&list->kctl->id);
|
||||
}
|
||||
}
|
||||
|
||||
static void snd_usb_mixer_dump_cval(struct snd_info_buffer *buffer,
|
||||
|
Loading…
Reference in New Issue
Block a user