[alsa-devel] Repost: OMAP3530 ALSA -- Only One Sound Card allowed for Power Suspension to RAM process?

Philip Chu Philip.Chu at logicpd.com
Thu May 26 20:54:22 CEST 2011

Hi all,

I have a crash with power suspend to RAM using following command:

echo mem > /sys/power/state

It shows following message and hangs up:

Freezing user space processes ... (elapsed 0.02 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds)

And I found out the place to cause this trouble is, I have two sound cards registered in my two modules' init function through:

platform_device_alloc("soc-audio", -1); // Beagle board sound card
and platform_device_alloc("soc-audio", 0);  // my own sound card

Thus /sys/devices/platform will show soc-audio and soc-audio-0 two entries.


platform_device_alloc("soc-audio", 0);
and platform_device_alloc("soc-audio", 1);

Thus /sys/devices/platform will show soc-audio-0 and soc-audio-1 two entries.

And if I use both (-1) it won't work:
platform_device_alloc("soc-audio", -1);
and platform_device_alloc("soc-audio", -1);

If I don't register the 2nd card at all, or register the 2nd with another name, e.g., "soc-myaudio", it can pass power suspension, but it be registered, because it cannot be recognized by soc_driver in soc-core.c, which is using the name "soc-audio" .

Anybody knows how I can register two sound cards and still pass power suspension?

Thanks in advance,

Philip Chu

Alsa-devel mailing list
Alsa-devel at alsa-project.org

More information about the Alsa-devel mailing list