Skip to contentSkip to conversation

apm suspend breaks ALSA

DISCUSSION Christopher Swingley 2 participants 2 messages Jul 30, 2003

lore
Share & tools
lore
#0 lore raw

Greetings,

I have a laptop with the es1978 ALSA sound driver built into the kernel. When I go through a suspend / resume cycle using apm, the sound system does not recover and loud static comes from the speakers instead of music / voice / etc. On boot, ALSA works just fine.

One solution appears to be building ALSA as modules and unloading / reloading them, after a suspend / resume cycle. With 2.4.xx and the OSS drivers built in, this wasn't an issue.

Now that I've got them built as modules and have a 'sound' script in /etc/apm/events.d/ that does the loading and unloading I'm happy, but I figured I'd report the issue anyway.

Chris

Signature · 3 lines
Christopher S. Swingley          email: [email protected]
IARC -- Frontier Program         Please use encryption.  GPG key at:
University of Alaska Fairbanks   www.frontier.iarc.uaf.edu/~cswingle/
#1 lore raw

At Wed, 30 Jul 2003 07:12:19 -0800,

Quoted 8 lines · Christopher Swingley

Greetings,

I have a laptop with the es1978 ALSA sound driver built into the kernel. When I go through a suspend / resume cycle using apm, the sound system does not recover and loud static comes from the speakers instead of music / voice / etc. On boot, ALSA works just fine.

Quoted 7 lines

One solution appears to be building ALSA as modules and unloading / reloading them, after a suspend / resume cycle. With 2.4.xx and the OSS drivers built in, this wasn't an issue.

Now that I've got them built as modules and have a 'sound' script in /etc/apm/events.d/ that does the loading and unloading I'm happy, but I figured I'd report the issue anyway.

as default, the power-management of es1968 is enabled only on a certain board, namely,

	ESS1978 _and_ (vendor == 0x1028 || vendor == 0x1179)

first, please check whether your pci id matches with it.

the behavior can be changed by a module option, use_pm, but it's missing in the kernel boot parameter (i'll fix this later). in that case, modify use_pm[] default value from 2 to 1, to force to use power-management.

Takashi