> -----Original Message----- > From: Kuninori Morimoto [mailto:kuninori.morimoto.gx@xxxxxxxxxxx] > Sent: Wednesday, September 18, 2019 12:06 PM > To: Liao, Bard <bard.liao@xxxxxxxxx> > Cc: Bard liao <yung-chuan.liao@xxxxxxxxxxxxxxx>; broonie@xxxxxxxxxx; > tiwai@xxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; pierre- > louis.bossart@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] ASoC: core: delete component->card_list in > soc_remove_component only > > > Hi Liao > > Thank you for your feedback > > > > I tried to create an error on purpose at soc_probe_component(), but, > > > there was no kernel oops, no warning, etc. > > > It just can't create sound card. It is very normal for me. > > > Or, which kernel are you using ? > > > > Somehow I can only see the second attempt of component probe when it > > return > > -517 (EPROBE_DEFER) in the first attempt by using below kernel. > > https://github.com/plbossart/sound/commits/fix/soundwire-split-lookup- > > init > > > > To me, the easiest way to see the issue is force return - EPROBE_DEFER > > on codec driver's probe function and call > > list_del(&component->card_list); before calling > > soc_cleanup_component(component); So list_del() will be called twice and you > will see the issue. > > OK, I could reproduce your issue. > And I think it will be solved if you can use > list_del_init() instead of list_del() at soc_cleanup_component() ? > (= without your patch) > > - list_del() > + list_del_init() > > If possible, I want to cleanup all component related resource at > soc_cleanup_component(). Because it is easy to read / understand. Thanks Morimoto san, I verified the solution works and agree with you. Will you send a patch to upstream? > > Thank you for your help !! > Best regards > --- > Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel