return 0;
 
 err_put_codec:
+       device_remove_properties(priv->codec_dev);
        put_device(priv->codec_dev);
        return ret;
 }
        struct byt_cht_es8316_private *priv = snd_soc_card_get_drvdata(card);
 
        gpiod_put(priv->speaker_en_gpio);
+       device_remove_properties(priv->codec_dev);
        put_device(priv->codec_dev);
        return 0;
 }
 
        /* Must be called before register_card, also see declaration comment. */
        ret_val = byt_rt5640_add_codec_device_props(codec_dev, priv);
        if (ret_val)
-               goto err;
+               goto err_device;
 
        log_quirks(&pdev->dev);
 
        return ret_val;
 
 err:
+       device_remove_properties(priv->codec_dev);
+err_device:
        put_device(priv->codec_dev);
        return ret_val;
 }
        struct snd_soc_card *card = platform_get_drvdata(pdev);
        struct byt_rt5640_private *priv = snd_soc_card_get_drvdata(card);
 
+       device_remove_properties(priv->codec_dev);
        put_device(priv->codec_dev);
        return 0;
 }
 
        /* Must be called before register_card, also see declaration comment. */
        ret_val = byt_rt5651_add_codec_device_props(codec_dev);
        if (ret_val)
-               goto err;
+               goto err_device;
 
        /* Cherry Trail devices use an external amplifier enable gpio */
        if (soc_intel_is_cht() && !byt_rt5651_gpios)
        return ret_val;
 
 err:
+       device_remove_properties(priv->codec_dev);
+err_device:
        put_device(priv->codec_dev);
        return ret_val;
 }
        struct snd_soc_card *card = platform_get_drvdata(pdev);
        struct byt_rt5651_private *priv = snd_soc_card_get_drvdata(card);
 
+       device_remove_properties(priv->codec_dev);
        put_device(priv->codec_dev);
        return 0;
 }