ASoC: wm_adsp: Only write shutdown controls for active firmwares
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 21 Nov 2016 18:00:02 +0000 (18:00 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 21 Nov 2016 18:20:53 +0000 (18:20 +0000)
The control list may contain shutdown controls for firmwares that are
not currently active, attempting to write this will at best fail. To
avoid this issue we skip any control that is not active.

Fixes: commit f4f0c4c60c39 ("ASoC: wm_adsp: Signal firmware shutdown
                             through event control")
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index 4fb6e2f..6ccb731 100644 (file)
@@ -1194,6 +1194,9 @@ static void wm_adsp_signal_event_controls(struct wm_adsp *dsp,
                if (ctl->type != WMFW_CTL_TYPE_HOSTEVENT)
                        continue;
 
+               if (!ctl->enabled)
+                       continue;
+
                ret = wm_coeff_write_acked_control(ctl, event);
                if (ret)
                        adsp_warn(dsp,