summaryrefslogtreecommitdiff
path: root/cras/src/server/cras_iodev_list.c
diff options
context:
space:
mode:
Diffstat (limited to 'cras/src/server/cras_iodev_list.c')
-rw-r--r--cras/src/server/cras_iodev_list.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cras/src/server/cras_iodev_list.c b/cras/src/server/cras_iodev_list.c
index f9db422c..83597d2b 100644
--- a/cras/src/server/cras_iodev_list.c
+++ b/cras/src/server/cras_iodev_list.c
@@ -303,9 +303,11 @@ static void sys_mute_change(void *context, int muted, int user_muted,
int should_mute = muted || user_muted;
DL_FOREACH(devs[CRAS_STREAM_OUTPUT].iodevs, dev) {
- if (cras_iodev_list_dev_is_enabled(dev) && dev->ramp) {
+ if (cras_iodev_list_dev_is_enabled(dev) && dev->ramp &&
+ cras_iodev_state(dev) == CRAS_IODEV_STATE_NORMAL_RUN) {
/* Start ramping in audio thread and set mute/unmute
- * state on device.
+ * state on device. This should only be done when
+ * device is running with valid streams.
*
* 1. Mute -> Unmute: Set device unmute state after
* ramping is started.