Bug 11665 - power button stops working after suspend (irq 9: nobody cared)
Summary: power button stops working after suspend (irq 9: nobody cared)
Status: CLOSED CODE_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Sleep-Wake (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Zhang Rui
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-28 14:23 UTC by Andrej Shadura
Modified: 2009-03-18 17:55 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.25-2-686 #1 SMP Fri Jul 18 17:46:56 UTC 2008
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
kernel log (48.86 KB, text/x-log)
2008-09-28 14:25 UTC, Andrej Shadura
Details
acpidump output (78.25 KB, text/plain)
2008-10-04 09:18 UTC, Andrej Shadura
Details
lspci -vvvxxx before suspend (22.16 KB, text/plain)
2008-10-04 09:19 UTC, Andrej Shadura
Details
lspci -vvvxxx after suspend (22.19 KB, text/plain)
2008-10-04 09:19 UTC, Andrej Shadura
Details

Description Andrej Shadura 2008-09-28 14:23:49 UTC
Latest working kernel version: 2.6.17-2-686
Earliest failing kernel version: 2.6.24-etchnhalf.1-686
Distribution: Debian GNU/Linux "lenny"
Hardware Environment:

[root#pc-linux:~]: cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 3
model name      : Intel(R) Celeron(R) CPU 2.66GHz
stepping        : 3
cpu MHz         : 2672.803
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc up pebs bts pni monitor ds_cpl cid
bogomips        : 5351.00
clflush size    : 64
[root#pc-linux:~]: lspci
00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev c1)
02:00.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
02:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
02:09.1 Input device controller: Creative Labs SB Live! Game Port (rev 08)

Software Environment:

lsmod output:
Module                  Size  Used by
lirc_serial            14356  0 
lirc_dev               13348  1 lirc_serial
snd_rtctimer            3648  1 
binfmt_misc            11144  1 
nfsd                  199568  13 
lockd                  59752  2 nfsd
nfs_acl                 3520  1 nfsd
auth_rpcgss            39168  1 nfsd
sunrpc                171872  11 nfsd,lockd,nfs_acl,auth_rpcgss
exportfs                4768  1 nfsd
ircomm_tty             22376  0 
ircomm                 12932  1 ircomm_tty
irtty_sir               6176  0 
sir_dev                13764  1 irtty_sir
irda_usb               14660  0 
irda                  106200  4 ircomm_tty,ircomm,sir_dev,irda_usb
crc_ccitt               2176  1 irda
ppdev                   8676  0 
lp                     11012  0 
ac                      4448  0 
battery                 8448  0 
ipv6                  241956  23 
nls_cp1251              4960  3 
ntfs                  196000  3 
nls_base                7268  2 nls_cp1251,ntfs
fuse                   44348  1 
dm_snapshot            17444  0 
dm_mirror              25316  0 
dm_mod                 55656  2 dm_snapshot,dm_mirror
w83627hf               23512  0 
hwmon_vid               3040  1 w83627hf
snd_intel8x0           31740  0 
snd_emu10k1_synth       6816  0 
snd_emux_synth         30560  1 snd_emu10k1_synth
snd_seq_virmidi         6720  1 snd_emux_synth
snd_seq_midi_emul       5856  1 snd_emux_synth
snd_emu10k1           122720  1 snd_emu10k1_synth
firmware_class          9088  2 irda_usb,snd_emu10k1
snd_ac97_codec         91300  2 snd_intel8x0,snd_emu10k1
snd_pcm_oss            37824  0 
snd_mixer_oss          14880  1 snd_pcm_oss
ac97_bus                1952  1 snd_ac97_codec
snd_seq_dummy           3780  0 
emu10k1_gp              3680  0 
snd_pcm                68228  4 snd_intel8x0,snd_emu10k1,snd_ac97_codec,snd_pcm_oss
snd_util_mem            4544  2 snd_emux_synth,snd_emu10k1
snd_hwdep               8708  2 snd_emux_synth,snd_emu10k1
snd_seq_oss            28544  0 
snd_seq_midi            8064  0 
snd_rawmidi            22528  3 snd_seq_virmidi,snd_emu10k1,snd_seq_midi
snd_seq_midi_event      6976  3 snd_seq_virmidi,snd_seq_oss,snd_seq_midi
snd_seq                45872  10 snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              21320  4 snd_rtctimer,snd_emu10k1,snd_pcm,snd_seq
snd_seq_device          7564  8 snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
rng_core                4900  0 
i2c_i801                9520  0 
snd                    48772  15 snd_intel8x0,snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
button                  8240  0 
psmouse                35920  0 
shpchp                 29716  0 
soundcore               7488  1 snd
iTCO_wdt               11204  0 
serio_raw               6532  0 
i2c_core               22548  1 i2c_i801
evdev                  11328  3 
snd_page_alloc          9992  3 snd_intel8x0,snd_emu10k1,snd_pcm
pci_hotplug            26980  1 shpchp
parport_pc             25860  1 
parport                33868  3 ppdev,lp,parport_pc
pcspkr                  3136  0 
analog                 11488  0 
rtc                    14272  1 snd_rtctimer
gameport               14124  3 emu10k1_gp,analog
ext3                  120360  3 
jbd                    43444  1 ext3
mbcache                 8260  1 ext3
ide_cd_mod             32864  0 
cdrom                  31872  1 ide_cd_mod
ide_disk               13952  9 
ide_pci_generic         4228  0 [permanent]
piix                    7176  0 [permanent]
ide_core              100312  4 ide_cd_mod,ide_disk,ide_pci_generic,piix
floppy                 53284  0 
ata_generic             8004  0 
libata                142288  1 ata_generic
3c59x                  39976  0 
mii                     5248  1 3c59x
scsi_mod              138668  1 libata
dock                   10448  1 libata
ehci_hcd               32620  0 
uhci_hcd               22352  0 
usbcore               130032  4 irda_usb,ehci_hcd,uhci_hcd
thermal                19100  0 
processor              39660  1 thermal
fan                     5636  0 


[Please note that kernel module nvidia is blacklisted just for test. Problem is present independently of is it loaded or not]

Problem Description:

After first suspend-to-ram (I use s2ram) and resuming system then, power button stops working: acpid doesn't see it anymore. See logs attached for details.

Steps to reproduce:

1. Attach `/usr/sbin/s2ram -f -a 3` command to power button in acpid configuration file.
2. `/usr/sbin/s2ram -f -a 3` -> system suspends
3. Press power button -> system wakes up, messages about disabling irq 9 are written in kern.log
4. Press it again -> system should suspend again but it doesn't
5. Press it again and again -> still no reaction
Comment 1 Andrej Shadura 2008-09-28 14:25:48 UTC
Created attachment 18098 [details]
kernel log

Suspend starts at 23:54:41 [   59.373748].
Comment 2 Andrej Shadura 2008-09-28 14:28:05 UTC
P.S. Problem first appeared when I installed new 2.6.24 kernel from "etch", I used 2.6.17 before, and it worked well.
Comment 3 ykzhao 2008-10-03 05:53:32 UTC
Will you please attach the output of acpidump?
It will be great if you can attach the output of lspci -vvvxxx after and before suspend.
Thanks.
Comment 4 Andrej Shadura 2008-10-04 01:07:37 UTC
Ok, I will do this.

Btw, the same problem occurs with 2.6.26 kernel from lenny
("2.6.26-1-686 #1 SMP Wed Sep 10 16:46:13 UTC 2008")
Comment 5 Andrej Shadura 2008-10-04 09:18:28 UTC
Created attachment 18159 [details]
acpidump output
Comment 6 Andrej Shadura 2008-10-04 09:19:02 UTC
Created attachment 18160 [details]
lspci -vvvxxx before suspend
Comment 7 Andrej Shadura 2008-10-04 09:19:27 UTC
Created attachment 18161 [details]
lspci -vvvxxx after suspend
Comment 8 ykzhao 2008-10-05 20:01:07 UTC
Will you please try the boot option of "idle=poll" on the latest kernel and see whether the problem still exists?
Thanks.
Comment 9 Andrej Shadura 2008-10-07 02:02:58 UTC
Are you really sure option should be "idle=poll"?
I tried 2.6.26-1-686 (latest in lenny), with idle=poll option, and still the same result.
Comment 10 ykzhao 2008-10-24 00:09:38 UTC
Will you please the following patch and see whether the problem still exists?
    >http://marc.info/?l=linux-kernel&m=122307130419753&w=2
Comment 11 Andrej Shadura 2008-10-25 12:18:40 UTC
Just compiled 2.6.26-1-686 from Debian with that patch.
No visible result, it is still here :-(

-- 
WBR, Andrew
Comment 12 ykzhao 2008-11-19 01:43:02 UTC
Sorry for the late response.
    Will you please try the debug patch in in http://bugzilla.kernel.org/show_bug.cgi?id=11255#C49 and see whether the problem still exists?
    Thanks.
Comment 13 Zhang Rui 2008-11-24 22:39:01 UTC
ping andrew
Comment 14 ykzhao 2008-11-26 01:35:41 UTC
Hi
   As the box can work on the kernel of 2.6.17, will you please use git-bisect to identify which commit introduces the regression?
   Will you please not load the device driver for the following devices and see whether the problem still exists?
   a. ethernet(02.00.0)
   b. Multimedia audio controller(02.09.0)
   c. Game port(02.09.1)
   Please disable the above three devices in BIOS. 
   d. USB device (by add the boot option of "nousb")
    Thanks.
Comment 15 Andrej Shadura 2008-11-30 14:12:46 UTC
Hello.

Sorry for not answering.

I have very little free time, but I will try both in next week, I hope.

-- 
WBR, Andrew
Comment 16 Zhang Rui 2008-12-08 00:22:32 UTC
Ping Andrew again. :)
Comment 17 Shaohua 2008-12-16 23:16:08 UTC
How about the boot option noapic? I want to check if there is related with ioapic.
Comment 18 Zhang Rui 2008-12-23 17:07:39 UTC
please apply the patch in bug #11268 comment #18 and #19 and attach the dmesg output with these two patches
Comment 19 Zhang Rui 2008-12-28 17:58:09 UTC
ping Andrew
Comment 20 Andrej Shadura 2008-12-30 12:39:57 UTC
pong
sorry, I'm too busy
will try to apply these patches, but can guarantee nothing about time, sorry again
too much work, no time to patch/reboot
Comment 21 Andrej Shadura 2009-01-01 06:41:15 UTC
just built kernel with http://bugzilla.kernel.org/show_bug.cgi?id=11665#c12 patch.
rebooting, will post dmesg if it wouldn't help
Comment 22 Andrej Shadura 2009-01-01 08:41:37 UTC
just made 3 tests.
1st. Kernel with patch from comment #12
no visible result, dmesg output is the same as without patch
2nd. The same kernel, noapic option added
again, no visible result
3rd. The same kernel, irqpoll option added, noapic removed
system boots, suspends, but doesn't wake - it hangs after videobios initialized.

Will try to test another patched

-- 
WBR, Andrew
Comment 23 Zhang Rui 2009-01-04 18:50:06 UTC
please attach the output of "cat /proc/interrupt"
Comment 24 Andrej Shadura 2009-01-10 11:17:01 UTC
Hello.

Sorry for late reply.

This is done just after boot:

[root#pc-linux:~]: cat /proc/interrupts
           CPU0
  0:         98   IO-APIC-edge      timer
  1:      12453   IO-APIC-edge      i8042
  3:         63   IO-APIC-edge      lirc_serial
  4:          6   IO-APIC-edge
  6:          5   IO-APIC-edge      floppy
  7:     485890   IO-APIC-edge      parport0
  8:          9   IO-APIC-edge      rtc0
  9:          0   IO-APIC-fasteoi   acpi
 12:      85839   IO-APIC-edge      i8042
 14:          0   IO-APIC-edge      ide0
 15:      86338   IO-APIC-edge      ide1
 16:     555788   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb4, nvidia
 18:      48953   IO-APIC-fasteoi   uhci_hcd:usb3, ata_piix
 19:          0   IO-APIC-fasteoi   uhci_hcd:usb2
 20:      50243   IO-APIC-fasteoi   eth0
 23:     442186   IO-APIC-fasteoi   ehci_hcd:usb5, EMU10K1
NMI:          0   Non-maskable interrupts
LOC:    1296844   Local timer interrupts
RES:          0   Rescheduling interrupts
CAL:          0   function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
SPU:          0   Spurious interrupts
ERR:          0
MIS:          0
[root#pc-linux:~]: suspend.now.ram
Stopping lirc daemon: lircmd lircd.
Switching from vt7 to vt1
Calling save_state
Allocated buffer at 0x2010 (base is 0x0)
ES: 0x0201 EBX: 0x0000
Calling restore_state_from
Function not supported?
switching back to vt7
Starting lirc daemon: lircd.
Setting drive speed of device /dev/cdrom to 1.. OK
[root#pc-linux:~]: cat /proc/interrupts
           CPU0
  0:         98   IO-APIC-edge      timer
  1:      12525   IO-APIC-edge      i8042
  3:         63   IO-APIC-edge
  4:          6   IO-APIC-edge
  6:          5   IO-APIC-edge      floppy
  7:     485890   IO-APIC-edge      parport0
  8:          9   IO-APIC-edge      rtc0
  9:     100001   IO-APIC-fasteoi   acpi
 12:      93920   IO-APIC-edge      i8042
 14:          0   IO-APIC-edge      ide0
 15:      87486   IO-APIC-edge      ide1
 16:     564367   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb4, nvidia
 18:      53701   IO-APIC-fasteoi   uhci_hcd:usb3, ata_piix
 19:          0   IO-APIC-fasteoi   uhci_hcd:usb2
 20:      51401   IO-APIC-fasteoi   eth0
 23:     448184   IO-APIC-fasteoi   ehci_hcd:usb5, EMU10K1
NMI:          0   Non-maskable interrupts
LOC:    1320339   Local timer interrupts
RES:          0   Rescheduling interrupts
CAL:          0   function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
SPU:          0   Spurious interrupts
ERR:          0
MIS:          0
Comment 25 Andrej Shadura 2009-01-10 11:18:36 UTC
P.S. About nvidia: there are no visible changes without nvidia driver, all symptoms are the same.
Comment 26 ykzhao 2009-02-24 01:23:42 UTC
Sorry for the late response.
    Will you please try the 2.6.28.3 stable kernel and see whether the issue still exists?
    If it still exists, please attach the following output before suspned/resume.
    > grep . /sys/firmware/acpi/interrupts/*
     thanks.
Comment 27 Zhang Rui 2009-03-11 00:46:33 UTC
close this bug as there is no response from the bug reporter for more than 2 months.
please reopen it if the bug still exists in the latest upstream kernel and you can provide the info requested in comment #26.
Comment 28 Andrej Shadura 2009-03-18 03:40:35 UTC
Just compiled 2.6.28.3. It works perfectly!
The only problem with it is that I cannot compile some additional kernel modules (i.e. lirc-related), but I hope I'll fix this.
Thank you very much.

Note You need to log in before you can comment on or make changes to this bug.