In suspend () the application is dead (freezed state) before ALSA driver suspend() is called, so in this there is no way application will get to know the SUSPENDED state of driver.
In resume () ALSA driver resume () (changes the state of driver) is called first and then applications are activated.
So how the application will get to know the SUSPENDED state of driver through syscall.No syscall () from ALSA apps(freezed) is happening during the SUSPENDED duration of ALSA driver.
Am i going wrong ?
On 5/30/07, Takashi Iwai tiwai@suse.de wrote:
At Wed, 30 May 2007 11:52:31 +0530, Nobin Mathew wrote:
I am having a doubt regarding ALSA power management.
My understanding of APM suspend() is like this.
Freeze the ALSA apps
Call ALSA driver suspend ()
in the ALSA suspend() function it saves the current state of substream and changes the state of substream to SUSPENDED.
My understanding of APM resume() is like this
Call ALSA driver resume ()
Activate the ALSA apps
In ALSA resume function it restores the saved state of substream.
So my question is when ALSA app will get to know the SUSPENDED state of substream.???
When issuing any syscalls. Then you'll get ESTRPIPE error, which indicitaes the stream is in the SUSPEND state.
Takashi