memcpy(ctl->cache, p, ctl->len);
 
        ctl->set = 1;
-       if (ctl->enabled && ctl->dsp->booted)
+       if (ctl->enabled && ctl->dsp->running)
                ret = wm_coeff_write_control(ctl, p, ctl->len);
 
        mutex_unlock(&ctl->dsp->pwr_lock);
                ret = -EFAULT;
        } else {
                ctl->set = 1;
-               if (ctl->enabled && ctl->dsp->booted)
+               if (ctl->enabled && ctl->dsp->running)
                        ret = wm_coeff_write_control(ctl, ctl->cache, size);
        }
 
        mutex_lock(&ctl->dsp->pwr_lock);
 
        if (ctl->flags & WMFW_CTL_FLAG_VOLATILE) {
-               if (ctl->enabled && ctl->dsp->booted)
+               if (ctl->enabled && ctl->dsp->running)
                        ret = wm_coeff_read_control(ctl, p, ctl->len);
                else
                        ret = -EPERM;
        } else {
-               if (!ctl->flags && ctl->enabled && ctl->dsp->booted)
+               if (!ctl->flags && ctl->enabled && ctl->dsp->running)
                        ret = wm_coeff_read_control(ctl, ctl->cache, ctl->len);
 
                memcpy(p, ctl->cache, ctl->len);
        mutex_lock(&ctl->dsp->pwr_lock);
 
        if (ctl->flags & WMFW_CTL_FLAG_VOLATILE) {
-               if (ctl->enabled && ctl->dsp->booted)
+               if (ctl->enabled && ctl->dsp->running)
                        ret = wm_coeff_read_control(ctl, ctl->cache, size);
                else
                        ret = -EPERM;
        } else {
-               if (!ctl->flags && ctl->enabled && ctl->dsp->booted)
+               if (!ctl->flags && ctl->enabled && ctl->dsp->running)
                        ret = wm_coeff_read_control(ctl, ctl->cache, size);
        }
 
        if (ret != 0)
                goto err_ena;
 
-       /* Sync set controls */
-       ret = wm_coeff_sync_controls(dsp);
-       if (ret != 0)
-               goto err_ena;
-
        dsp->booted = true;
 
        mutex_unlock(&dsp->pwr_lock);
                if (!dsp->booted)
                        return -EIO;
 
+               /* Sync set controls */
+               ret = wm_coeff_sync_controls(dsp);
+               if (ret != 0)
+                       goto err;
+
                ret = regmap_update_bits(dsp->regmap,
                                         dsp->base + ADSP2_CONTROL,
                                         ADSP2_CORE_ENA | ADSP2_START,