{
int ret = -ENOTSUPP;
+ /*
+ * ignore if direction was CAPTURE
+ * and it had .no_capture_mute flag
+ */
if (dai->driver->ops &&
- dai->driver->ops->mute_stream)
+ dai->driver->ops->mute_stream &&
+ (direction == SNDRV_PCM_STREAM_PLAYBACK ||
+ !dai->driver->ops->no_capture_mute))
ret = dai->driver->ops->mute_stream(dai, mute, direction);
- else if (direction == SNDRV_PCM_STREAM_PLAYBACK &&
- dai->driver->ops &&
- dai->driver->ops->digital_mute)
- ret = dai->driver->ops->digital_mute(dai, mute);
return soc_dai_ret(dai, ret);
}