diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c index 58ffe4af..7c5b4ea8 100644 --- a/src/mixer/simple_none.c +++ b/src/mixer/simple_none.c @@ -515,7 +515,7 @@ static int elem_write_enum(selem_none_t *s) return 0; } -static int selem_write(snd_mixer_elem_t *elem) +static int selem_write_main(snd_mixer_elem_t *elem) { selem_none_t *s; unsigned int idx; @@ -598,6 +598,16 @@ static int selem_write(snd_mixer_elem_t *elem) return 0; } +static int selem_write(snd_mixer_elem_t *elem) +{ + int err; + + err = selem_write_main(elem); + if (err < 0) + selem_read(elem); + return err; +} + static void selem_free(snd_mixer_elem_t *elem) { selem_none_t *simple = snd_mixer_elem_get_private(elem);