At Wed, 18 Jul 2007 00:26:42 +0200, Pavel Kysilka wrote: > > On Tue Jul 17, 2007 at 12:50:21PM +0200, Takashi Iwai wrote: > > Hi Takashi, > > good news below. > > > At Mon, 16 Jul 2007 11:24:45 +0200, > > I wrote: > > > > > > > <cut/> > > > Oh, thanks for hunting this long-standing bug! > > > > > > I think, however, it cannot be applied as it is. > > > First, snd_cs46xx_start_dsp() calls cs46xx_dsp_load_module(), and the > > > latter function isn't designed for the PM resume. We'd need a special > > > resume function just for clearing area & reloading the dsp images > > > according to the already loaded DSP modules. > > > > > > Second, __devinit prefix for snd_cs46xx_start_dsp() has to be removed > > > if it's called from the PM handler. > > > > Looking at the code more deeply, I suspect whether it really works > > when CONFIG_SND_CS46XX_NEW_DSP=y. snd_cs46xx_start_dsp() involves > > with many calls that add SCBs and co, which will eventually overflow. > > > > I made a patch blindly to do the resume work in a saner way, but of > > course, it's totally untested. Could you check whether it works? > > Patch works perfectly. > > Tested option: > - kernel compiled with and without CONFIG_SND_CS46XX_NEW_DSP=y > - play pcm stream, suspend, resume and pcm stream is playing > - play pcm stream, stop playing pcm stream, suspend, resume and play pcm stream > > If you need log from resume from notebook, I'll send you this log. Thanks for testing! That's enough, so far. I applied the patch to HG tree now. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel