Bug 8843

Summary: snd-au8830 dead after software suspend
Product: Drivers Reporter: Nomen Nescio (gerritenmara)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: CLOSED OBSOLETE    
Severity: low CC: alan, bunk, perex, rjw, superquad.vortex2, tiwai, zaceni2
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.22 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: snd-au88x0 acpi test patch (of 2.6.29 kernel)
snd-au88x0 acpi test patch (second version) (patched of 2.6.29 kernel)
snd-au88x0 acpi test patch (third version) (patched of 2.6.29 kernel)

Description Nomen Nescio 2007-08-05 10:56:40 UTC
Most recent kernel where this bug did not occur: none
Distribution: Debian Etch
Hardware Environment: dual P2 celeron on BP6 (Intel 440BX), Diamond Monster Sound MX300 (au8830)
Software Environment: kernel.org kernel, suspend2 and -ck1 patches
Problem Description:
After a suspend-resume cycle (using Suspend2), my sound card doesn't 
work anymore. It works again after reloading the module.

dmesg, initial boot:
> Linux version 2.6.22-ck1
----8<----
> PCI driver au8830 lacks driver specific resume support.

dmesg, after resume, trying to use the card:
> vortex: ac97 codec stuck busy

Steps to reproduce: suspend-resume
Comment 1 NightFox 2009-04-09 11:46:09 UTC
Created attachment 20901 [details]
snd-au88x0 acpi test patch (of 2.6.29 kernel)

Patch based on Takashi Iwai's patch, still unfinished, audio is working after resume and equalizer is initalized, but only newly started streams :( 

Already started streams produce this into dmesg:
ALSA sound/core/pcm_lib.c:1548: playback write error (DMA or IRQ trouble?)
ALSA sound/core/pcm_lib.c:1548: playback write error (DMA or IRQ trouble?)
vortex_adb_delroutes: route not found! 0x40
vortex_adb_delroutes: route not found! 0x2060
src alarm
vortex_adb_delroutes: route not found! 0x41
vortex_adb_delroutes: route not found! 0x2161
src alarm

If were no active streams before supsend all working just fine, and newly stared streams too. Maybe it is dma\irq issue but I don't have a clue. Any comments and improvments are appreciated.

Result of active stream during resume:
Playing WAVE 'audiodump.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Suspended. Trying resume. Failed. Restarting stream. Done.
aplay: pcm_write:1442: write error: Input/output error
Comment 2 NightFox 2009-04-10 16:15:50 UTC
Created attachment 20926 [details]
snd-au88x0 acpi test patch (second version) (patched of 2.6.29 kernel)

All problems of perivous patch solved. Seems to be complete patch.
Comment 3 NightFox 2009-04-13 02:24:23 UTC
Created attachment 20953 [details]
snd-au88x0 acpi test patch (third version) (patched of 2.6.29 kernel)

Minor fix.
Comment 4 Takashi Iwai 2009-04-15 10:01:19 UTC
Great.  Could you reformat your patch to pass checkpatch.pl, and give a proper changelog and your sign-off to merge to the upstream?
Comment 5 Rafael J. Wysocki 2011-01-16 21:39:17 UTC
What's the status here?  Has the patch been merged already?
Comment 6 Raymond 2012-02-05 07:33:40 UTC
you can try the patch at http://thread.gmane.org/gmane.linux.alsa.devel/88797/focus=90768