Bug 2965

Summary: tp r50p sound stops (IRQ 5) after suspend-resume cycle
Product: ACPI Reporter: Hamish Marson (hamish)
Component: Power-Sleep-WakeAssignee: Shaohua (shaohua.li)
Status: REJECTED DUPLICATE    
Severity: normal    
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.7 (kernel.org) Subsystem:
Regression: --- Bisected commit-id:
Attachments: .config
dmesg output
/proc/interrupts 10 secs apart with sound running
lspci -vv after resuming
lspci -vv after resume

Description Hamish Marson 2004-06-27 12:00:33 UTC
Distribution: Debian Unstable
Hardware Environment: IBM Thinkpad r50p
Software Environment: 
Problem Description: Sound & Network run fine after fresh boot. After suspending
& resuming, sound runs for a short while (~30 secs) and then stops. IRQ 5 no
longer increments when sound has stopped. 

Steps to reproduce: Boot system. Suspend. resume. Play sounds... (using Juk,
Xine, whatever).
Comment 1 Hamish Marson 2004-06-27 12:02:21 UTC
Created attachment 3257 [details]
.config

running .config
Comment 2 Hamish Marson 2004-06-27 12:03:02 UTC
Created attachment 3258 [details]
dmesg output
Comment 3 Hamish Marson 2004-06-27 12:05:32 UTC
Created attachment 3259 [details]
/proc/interrupts 10 secs apart with sound running

With juk playing, IRQ5 doesn't increment (Intel sound chip on IRQ5)
Comment 4 Hamish Marson 2004-06-27 12:07:13 UTC
Created attachment 3260 [details]
lspci -vv after resuming

lspci -vv output from after resuming.
Comment 5 Hamish Marson 2004-06-27 12:12:31 UTC
Created attachment 3261 [details]
lspci -vv after resume
Comment 6 Hamish Marson 2004-06-27 12:15:02 UTC
Have patched kernel 2.6.7 with suggested patch from bug #2643. This apears to
have fixed the problem with the ethernet stopping, but has done nothing for the
sound.
Comment 7 Hamish Marson 2004-06-27 13:26:04 UTC
Seeing as sound was on IRQ5 and the patch for 2643 fixed the ethernet, I added a
(big hack here :) call to 

                acpi_pic_sci_set_trigger(5, acpi_sci_flags.trigger);

in  acpi_pm_finish(u32 state); just after the call to set the IRQ trigger for
the acpi irq... 

Results in (kern.log) 

Jun 27 21:15:28 ballbreaker kernel: ACPI: IRQ9 SCI: Edge set to Level Trigger.
Jun 27 21:15:28 ballbreaker kernel: ACPI: IRQ5 SCI: Edge set to Level Trigger.


and then sound works after resume... Obviously not a very good fix as it won't
fix anything that uses somethign other than IRQ5.

So. What should the correct fix be? Obviously some IRQ's triggers aren't
surviving the resume... But why... The timer (IRQ 0) obviously does... 
Comment 8 Shaohua 2004-06-29 18:55:27 UTC

*** This bug has been marked as a duplicate of 2643 ***