OSDN Git Service

ASoC: Set card->instantiated to false when removing the card
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 4 Sep 2014 17:44:04 +0000 (19:44 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 4 Sep 2014 19:10:25 +0000 (20:10 +0100)
Set card->instantiated to false when the card is removed to make sure that
operations that expect the card to be fully instantiated do not run anymore
during card removal.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index 1b422c5..ff9d289 100644 (file)
@@ -3810,8 +3810,10 @@ EXPORT_SYMBOL_GPL(snd_soc_register_card);
  */
 int snd_soc_unregister_card(struct snd_soc_card *card)
 {
-       if (card->instantiated)
+       if (card->instantiated) {
+               card->instantiated = false;
                soc_cleanup_card_resources(card);
+       }
        dev_dbg(card->dev, "ASoC: Unregistered card '%s'\n", card->name);
 
        return 0;