|
@@ -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,
|