Hi Jaroslav,

I've tracked this down to the following line (if we can trust the
snd_prink() order):

wake_up(&card->power_sleep);

This function is called from 

static inline void snd_power_change_state(snd_card_t *card, unsigned int
state) 

in core.c and itself is called from

snd_ymfpci_resume(ymfpci_t *chip)

A question remains:

wake_up invokes the scheduler, right? why?

All other devices seem to properly resume from standby.
Oh, this oops seems to happen only on the first resume. If I unload the
module and load again, I can resume properly in most cases.

If you still have no idea what's going on here I will spend
more time to go deeper.

greets

Marc

On Mon, 15 Dec 2003 16:20:43 +0100 (CET)
Jaroslav Kysela <[EMAIL PROTECTED]> wrote:

> On Mon, 15 Dec 2003, Marc Giger wrote:
> 
> > Hi All,
> > 
> > Since upgrading to 0.9.8 im not able to resume from apm. 
> > 
> > I'm willing to try out patches
> 
> No idea. The problem appears to be in the snd_ac97_resume() function.
> Could you try to put some printk() calls to snd_ac97_resume() and 
> snd_ymfpci_resume() functions to determine the stop point?
> 
>                                               Jaroslav
> 
> -----
> Jaroslav Kysela <[EMAIL PROTECTED]>
> Linux Kernel Sound Maintainer
> ALSA Project, SuSE Labs
> 


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to