Bug 12852

Summary: On resume irq 16 get's disabled.
Product: Power Management Reporter: Jonathan Larsen (agentc0re)
Component: Hibernation/SuspendAssignee: Rafael J. Wysocki (rjw)
Status: CLOSED CODE_FIX    
Severity: normal CC: akpm, alan, chris.mason, tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.28.7 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    

Description Jonathan Larsen 2009-03-10 17:08:05 UTC
Latest working kernel version: 2.6.28.7
Earliest failing kernel version: 2.6.28.7
Distribution: Slackware 12.2
Hardware Environment: Acer Aspire One 10.1"
Software Environment: XFCE 4.6
Problem Description:
Using either pm-suspend from the cli or XFCE4.6 new built in suspend function (which calls pm-suspend from hal from what i was told by rworkman one of Slackwares dev's), on resume i get a kernel message telling me that IRQ 16 is disabled.

If i do an echo -n mem > /sys/power/state I don't see this behavior.

Steps to reproduce:
running pm-suspend from cli or using xfce4.6 suspend function.

I have SUSPEND_MODULES="snd-hda-intel" in my /etc/pm/config.d/defaults

syslog:
Feb 20 11:58:05 sol kernel: irq 16: nobody cared (try booting with the "irqpoll" option)
Feb 20 11:58:05 sol kernel: Pid: 3322, comm: pm-suspend Not tainted 2.6.28.6-smp #1
Feb 20 11:58:05 sol kernel: Call Trace:
Feb 20 11:58:05 sol kernel:  [<c0150c84>] __report_bad_irq+0x24/0x80
Feb 20 11:58:05 sol kernel:  [<f8907195>] azx_interrupt+0x15/0x120 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<c0150e30>] note_interrupt+0x150/0x190
Feb 20 11:58:05 sol kernel:  [<c014fb15>] handle_IRQ_event+0x25/0x50
Feb 20 11:58:05 sol kernel:  [<c01517f8>] handle_fasteoi_irq+0x78/0xd0
Feb 20 11:58:05 sol kernel:  [<c0105997>] do_IRQ+0x77/0x90
Feb 20 11:58:05 sol kernel:  [<c010599c>] do_IRQ+0x7c/0x90
Feb 20 11:58:05 sol kernel:  [<c010599c>] do_IRQ+0x7c/0x90
Feb 20 11:58:05 sol kernel:  [<c0103dd7>] common_interrupt+0x23/0x28
Feb 20 11:58:05 sol kernel:  [<c0109b12>] native_read_tsc+0x2/0x10
Feb 20 11:58:05 sol kernel:  [<c037d0ca>] delay_tsc+0x2a/0x50
Feb 20 11:58:05 sol kernel:  [<c037d066>] __delay+0x6/0x10
Feb 20 11:58:05 sol kernel:  [<f8906b3a>] azx_get_response+0x10a/0x1c0 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<f8906a1c>] azx_send_cmd+0xcc/0xe0 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<f890847e>] snd_hda_codec_read+0x4e/0x70 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<f8908a25>] hda_set_power_state+0x145/0x190 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<f8908ac1>] snd_hda_resume+0x51/0x80 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<f8907785>] azx_resume+0x75/0xe0 [snd_hda_intel]
Feb 20 11:58:05 sol kernel:  [<c038e373>] pci_legacy_resume+0x13/0x20
Feb 20 11:58:05 sol kernel:  [<c03ef8e2>] pm_op+0x82/0x120
Feb 20 11:58:05 sol kernel:  [<c03f00a4>] device_resume+0xe4/0x370
Feb 20 11:58:05 sol kernel:  [<c014a578>] suspend_devices_and_enter+0xe8/0x150
Feb 20 11:58:05 sol kernel:  [<c014abdc>] freeze_processes+0x3c/0x80
Feb 20 11:58:05 sol kernel:  [<c014a75b>] enter_state+0x12b/0x140
Feb 20 11:58:05 sol kernel:  [<c014a804>] state_store+0x94/0xe0
Feb 20 11:58:05 sol kernel:  [<c014a770>] state_store+0x0/0xe0
Feb 20 11:58:05 sol kernel:  [<c0377b64>] kobj_attr_store+0x24/0x30
Feb 20 11:58:05 sol kernel:  [<c01c6040>] sysfs_write_file+0xc0/0x110
Feb 20 11:58:05 sol kernel:  [<c01c5f80>] sysfs_write_file+0x0/0x110
Feb 20 11:58:05 sol kernel:  [<c018366f>] vfs_write+0x9f/0x140
Feb 20 11:58:05 sol kernel:  [<c0183be1>] sys_write+0x41/0x70
Feb 20 11:58:05 sol kernel:  [<c01032f2>] syscall_call+0x7/0xb
Feb 20 11:58:05 sol kernel:  [<c0710000>] i8042_probe+0x1e0/0x5f0
Feb 20 11:58:05 sol kernel: handlers:
Feb 20 11:58:05 sol kernel: [<c05d3890>] (usb_hcd_irq+0x0/0x70)
Feb 20 11:58:05 sol kernel: [<c05d3890>] (usb_hcd_irq+0x0/0x70)
Feb 20 11:58:05 sol kernel: [<f8907180>] (azx_interrupt+0x0/0x120 [snd_hda_intel])
Feb 20 11:58:05 sol kernel: Disabling IRQ #16
Feb 20 11:58:05 sol kernel: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x011f000c
Feb 20 11:58:05 sol kernel: hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x011f000c
Feb 20 11:58:05 sol kernel: hda_codec: invalid dep_range_val 0:7fff
Feb 20 11:58:05 sol last message repeated 126 times
Feb 20 11:58:05 sol kernel: usb usb2: root hub lost power or was reset
Feb 20 11:58:05 sol kernel: usb usb3: root hub lost power or was reset
Feb 20 11:58:05 sol kernel: usb usb4: root hub lost power or was reset
Feb 20 11:58:05 sol kernel: usb usb5: root hub lost power or was reset

syslog on resume after irqpoll is enabled:
Mar 10 07:08:58 sol kernel: Freezing user space processes ...  restoring config space at offset 0x1 (was 0x900007, writing 0x900003)
Mar 10 07:08:58 sol kernel: ata3: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 6 times
Mar 10 07:08:58 sol kernel: ata1: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 230 times
Mar 10 07:08:58 sol kernel: hda_intel: azx_get_response timeout, switching to polling mode: last cmd=0x011f000c
Mar 10 07:08:58 sol kernel: ata1: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 4 times
Mar 10 07:08:58 sol kernel: ata3: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 26 times
Mar 10 07:08:58 sol kernel: ata1: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 17 times
Mar 10 07:08:58 sol kernel: ata3: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 6 times
Mar 10 07:08:58 sol kernel: ata1: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 6 times
Mar 10 07:08:58 sol kernel: ata3: EH pending after 5 tries, giving up
Mar 10 07:08:58 sol last message repeated 221 times
Mar 10 07:08:58 sol kernel: hda_intel: azx_get_response timeout, switching to single_cmd mode: last cmd=0x011f000c
Mar 10 07:08:58 sol kernel: hda_codec: invalid dep_range_val 0:7fff
Mar 10 07:08:58 sol last message repeated 126 times
Mar 10 07:08:58 sol kernel: usb usb2: root hub lost power or was reset
Mar 10 07:08:58 sol kernel: usb usb3: root hub lost power or was reset
Mar 10 07:08:58 sol kernel: usb usb4: root hub lost power or was reset
Mar 10 07:08:58 sol kernel: usb usb5: root hub lost power or was reset
Mar 10 07:08:58 sol kernel: Restarting tasks ... done.
Comment 1 Jonathan Larsen 2009-03-10 17:53:46 UTC
Ah crud.  Sorry, I didn't mean to list both.
I've used kernel 2.6.27.7, 2.6.28.6 and 2.6.28.7 and none of them worked.  Meaning i've always received a message telling me that IRQ 16 is disabled by the kernel.
Comment 2 Rafael J. Wysocki 2009-03-11 01:38:55 UTC
Takashi, can you have a look at this, please?
Comment 3 Rafael J. Wysocki 2009-03-11 01:39:39 UTC
Jonathan, can you also test the current mainline (2.6.29-rc7 or later), please?
Comment 4 Jonathan Larsen 2009-03-11 06:13:17 UTC
(In reply to comment #3)
> Jonathan, can you also test the current mainline (2.6.29-rc7 or later),
> please?
> 

Sure, not a problem.
Comment 5 Jonathan Larsen 2009-03-11 21:50:03 UTC
With 2.6.29-rc7, on resume I no longer have kernel message stating that it is disabling irq 16.  I've been conducting my testing by just viewing a random youtube video, going into suspend and then resuming and trying to play the video again.  At first, even though it didn't say the irq was disabled, sound didn't work.  I had to close that site and reopen it to have the sound work.  Not sure if that's a Firefox thing or not, but I thought it might be worth to mention.

What do you need from me or have me do from here?
Comment 6 Takashi Iwai 2009-03-12 00:03:03 UTC
Which sound subsystem are you using?  If you are using pulseaudio, try without it.
Comment 7 Jonathan Larsen 2009-03-12 06:18:19 UTC
I am using Alsa.
Comment 8 Takashi Iwai 2009-03-12 06:39:09 UTC
OK, and does it happen with other apps?
For example, playing a WAV file via aplay, and do suspend-resume.  Does it continue to work?
Comment 9 Jonathan Larsen 2009-03-12 06:53:43 UTC
(In reply to comment #8)
> OK, and does it happen with other apps?
> For example, playing a WAV file via aplay, and do suspend-resume.  Does it
> continue to work?
> 
I tested that out by using Amarok just now.  The included intro file played fine on resume.
Comment 10 Jonathan Larsen 2009-04-15 00:10:05 UTC
I am now using 2.6.29.1 and my problems are completely fixed.
I never filed a bug for another issue that i was having but if i left my pc for any longer than 5 minutes in suspend, it would not awake.  It would go in a "loop" and look like it was going to wake up but then go back into suspend.  I know that was never part of this bug, sorry i never filed(or searched, possible known problem before?)

Anyways, Thanks for your hard work.