--- x/sound/core/init.c +++ y/sound/core/init.c @@ -599,8 +599,10 @@ static int snd_card_do_free(struct snd_c dev_warn(card->dev, "unable to free card info\n"); /* Not fatal error */ } - if (card->release_completion) + if (card->release_completion) { complete(card->release_completion); + return 0; + } if (!card->managed) kfree(card); return 0;