ASoC: wm8958: Move DSP firmware lock to driver level
[cascardo/linux.git] / sound / soc / codecs / wm8958-dsp2.c
index 0dada7f..3cbc82b 100644 (file)
@@ -867,9 +867,9 @@ static void wm8958_enh_eq_loaded(const struct firmware *fw, void *context)
        struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
 
        if (fw && (wm8958_dsp2_fw(codec, "ENH_EQ", fw, true) == 0)) {
-               mutex_lock(&codec->mutex);
+               mutex_lock(&wm8994->fw_lock);
                wm8994->enh_eq = fw;
-               mutex_unlock(&codec->mutex);
+               mutex_unlock(&wm8994->fw_lock);
        }
 }
 
@@ -879,9 +879,9 @@ static void wm8958_mbc_vss_loaded(const struct firmware *fw, void *context)
        struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
 
        if (fw && (wm8958_dsp2_fw(codec, "MBC+VSS", fw, true) == 0)) {
-               mutex_lock(&codec->mutex);
+               mutex_lock(&wm8994->fw_lock);
                wm8994->mbc_vss = fw;
-               mutex_unlock(&codec->mutex);
+               mutex_unlock(&wm8994->fw_lock);
        }
 }
 
@@ -891,9 +891,9 @@ static void wm8958_mbc_loaded(const struct firmware *fw, void *context)
        struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
 
        if (fw && (wm8958_dsp2_fw(codec, "MBC", fw, true) == 0)) {
-               mutex_lock(&codec->mutex);
+               mutex_lock(&wm8994->fw_lock);
                wm8994->mbc = fw;
-               mutex_unlock(&codec->mutex);
+               mutex_unlock(&wm8994->fw_lock);
        }
 }