diff --git a/[refs] b/[refs] index 0cf2e2dee2b8..ab2635c17d9d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20861fa7b20a40ca045393df634d4d51e61efa58 +refs/heads/master: 73d38b13ffb105ab633bd91969c8d218b2de38d4 diff --git a/trunk/sound/core/init.c b/trunk/sound/core/init.c index f045f7db3ab4..07acac77ea45 100644 --- a/trunk/sound/core/init.c +++ b/trunk/sound/core/init.c @@ -360,6 +360,12 @@ int snd_card_disconnect(struct snd_card *card) snd_printk(KERN_ERR "not all devices for card %i can be disconnected\n", card->number); snd_info_card_disconnect(card); +#ifndef CONFIG_SYSFS_DEPRECATED + if (card->card_dev) { + device_unregister(card->card_dev); + card->card_dev = NULL; + } +#endif return 0; } @@ -401,10 +407,6 @@ static int snd_card_do_free(struct snd_card *card) snd_printk(KERN_WARNING "unable to free card info\n"); /* Not fatal error */ } -#ifndef CONFIG_SYSFS_DEPRECATED - if (card->card_dev) - device_unregister(card->card_dev); -#endif kfree(card); return 0; }