X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=sound%2Fsoc%2Fsoc-core.c;h=2960070e68bc8d308e98ee18453b9553ec0d7389;hb=4893a2eb34a9722501915a0b75844aa11956c10d;hp=d7761df03e19d83a7613366c6b4fdb2d9aad1058;hpb=bee886f1ea9d9e58bef8204c543a409c399f8744;p=linux-2.6-microblaze.git diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index d7761df03e19..2960070e68bc 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1559,6 +1559,12 @@ static int soc_link_init(struct snd_soc_card *card, return ret; } +static void soc_unbind_aux_dev(struct snd_soc_component *component) +{ + component->init = NULL; + list_del(&component->card_aux_list); +} + static int soc_bind_aux_dev(struct snd_soc_card *card) { struct snd_soc_component *component; @@ -1612,7 +1618,7 @@ static void soc_remove_aux_devices(struct snd_soc_card *card) if (comp->driver->remove_order == order) { soc_remove_component(comp); /* remove it from the card's aux_comp_list */ - list_del(&comp->card_aux_list); + soc_unbind_aux_dev(comp); } } }