Hi Mark, Takashi-san > --- a/sound/soc/soc-pcm.c > +++ b/sound/soc/soc-pcm.c > @@ -2632,6 +2632,16 @@ static int dpcm_fe_dai_close(struct snd_pcm_substream *fe_substream) > return ret; > } > > +static void soc_pcm_private_free(struct snd_pcm *pcm) > +{ > + struct snd_soc_pcm_runtime *rtd = pcm->private_data; > + struct snd_soc_platform *platform = rtd->platform; > + > + flush_delayed_work(&rtd->delayed_work); > + if (platform->driver->pcm_free) > + if (platform->driver->pcm_free(pcm); > +} > + > /* create a new pcm */ > int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) > { > @@ -2757,7 +2767,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) > } > } > > - pcm->private_free = platform->driver->pcm_free; > + pcm->private_free = soc_pcm_private_free; Thanks ! I confirmed that this solved my issue from kernel Oops. - Renesas Lager board - Renesas R-Car Salvator-X board Reported-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Reported-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > Mark If above patch was added, my current posted patch # ASoC: add Component level pcm_new/pcm_free v2 # Date: Tue, 08 Aug 2017 15:12:06 +0900 will have conflict. Then I can re-post it. Please let me know if your review was finished. > > /* > > * custom kernel for avoiding close_delayed_work() > > */ > > > aplay xxx.wav & > > > echo xxxx > /sys/bus/platform/drivers/rcar_sound/unbind > > /* unbind codec and card drivers here */ > > > > > /* > > * try re-bind > > */ > > /* re-bind codec and card drivers here */ > > > echo xxxx > /sys/bus/platform/drivers/rcar_sound/bind > > rcar_sound ec500000.sound: probed > > asoc-simple-card sound: ak4613-hifi <-> ec500000.sound mapping ok > > > > > > aplay xxx.wav > > Playing WAVE '/home/Calm_16bit_48k.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo > > ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable > > aplay: set_params:1204: Broken configuration for this PCM: no configurations available > > > > Do you know why or have hint to solve these issue ? > > It's hard to say only from that... But judging from your description, > it must be relevant with the stale DAPM setup that was left untouched > at the previous driver unbind? That is, the driver doesn't fully > initialize the hardware at probe. Thanks. I noticed that my one board could re-bind without issue, but one board had issue. I want to debug it. Do you know which function returns error to user side ? # set_params is only used on soc-compress, but my driver doesn't use it. Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel