Bug 6415 - S3+S4 resume: hung access to /proc/acpi after resume if asus_hides_smbus=1
Summary: S3+S4 resume: hung access to /proc/acpi after resume if asus_hides_smbus=1
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Sleep-Wake (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: acpi_power-sleep-wake
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-19 16:36 UTC by Lukas Turek
Modified: 2006-07-18 19:05 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.15 .. 2.6.17-rc2
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
My kernel configuration (32.86 KB, text/plain)
2006-04-19 16:43 UTC, Lukas Turek
Details
Output of Alt+SysRq+T (16.13 KB, text/plain)
2006-04-19 16:54 UTC, Lukas Turek
Details

Description Lukas Turek 2006-04-19 16:36:50 UTC
Most recent kernel where this bug did not occur: 2.6.14
Distribution: Gentoo
Hardware Environment: Asus M6V notebook
Problem Description:
If I do suspend to RAM and then suspend to disk (swsusp or suspend2), after 
resume every proces which tries to read from /proc/acpi/* freezes, starts to 
take 100% of CPU and can't be killed (even with kill -9). The whole system does
not crash, and there's no output in dmesg. Repeated suspend to 
ram or suspend to disk is OK, only this combination triggers it.

Steps to reproduce:
echo mem > /sys/power/state
echo disk > /sys/power/state
cat /proc/acpi/thermal_zone/THRM/temperature

lspci output:
0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express
Processor to DRAM Controller (rev 03)
0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express
Root Port (rev 03)
0000:00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
High Definition Audio Controller (rev 04)
0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #1 (rev 04)
0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #2 (rev 04)
0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #3 (rev 04)
0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #4 (rev 04)
0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB2 EHCI Controller (rev 04)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge
(rev 04)
0000:00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) IDE Controller (rev 04)
0000:01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit
Ethernet Controller (rev 13)
0000:01:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
0000:01:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08)
0000:01:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
(rev 17)
0000:01:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
Adapter (rev 08)
0000:01:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 03)
0000:01:02.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI
Adapter (rev 05)
0000:03:00.0 VGA compatible controller: ATI Technologies Inc M24 1P [Radeon
Mobility X600]

Additional information:
I was pointed here from LKML, the original post is here:
http://lkml.org/lkml/2006/4/19/135
The problem happens after SMBus was enabled in drivers/pci/quirks.c (commit
89fbb69c4f285019ba5e029963dc11cc6beb078a, the patch originates here:
http://lists.lm-sensors.org/pipermail/lm-sensors/2005-September/013663.html ).
But it doesn't matter whether I2C and Hardware Monitoring modules are loaded,
only whether SMBus is enabled.
Comment 1 Lukas Turek 2006-04-19 16:43:36 UTC
Created attachment 7905 [details]
My kernel configuration
Comment 2 Lukas Turek 2006-04-19 16:54:55 UTC
Created attachment 7906 [details]
Output of Alt+SysRq+T
Comment 3 Len Brown 2006-04-26 19:43:17 UTC
So in your dmesg you have:

"PCI: Trying to enable ICH6 SMBus. RCBA base 0x%x relocated 0x%x \n"

and if you disable the new quirk, which asus_hides_smbus=1
then this issue goes away?

after the resume, does even the following hang?

# cat /proc/acpi/info


Comment 4 Lukas Turek 2006-04-27 05:06:31 UTC
> So in your dmesg you have:
> "PCI: Trying to enable ICH6 SMBus. RCBA base 0x%x relocated 0x%x \n"
The message is "PCI: Enabled ICH6/i801 SMBus device"

>and if you disable the new quirk, which asus_hides_smbus=1
>then this issue goes away?
Yes.

> after the resume, does even the following hang?
> # cat /proc/acpi/info

I tried it under 2.6.17-rc2 without X11 and any daemons running. It acts
differently, and I hope it's more helpful: 

After resume, i can read everything in /proc/acpi except
/proc/acpi/thermal_zone/THRM/temperature. Reading from this file still hangs.
But then I can still read most files in /proc/acpi, with only some exceptions,
eg. /proc/acpi/asus/info, /proc/acpi/video/VGA/TVOD. And only the first process
which tried to read from /proc/acpi/thermal_zone/THRM/temperature takes 100%
CPU, others just freeze.

Maybe there's some conflict between reading temperature via acpi and via SMBus?
Comment 5 Lukas Turek 2006-06-14 09:43:13 UTC
It seems the problem is fixed in 2.6.17-rc6.
Comment 6 Shaohua 2006-07-18 19:05:22 UTC
Fixed in 2.6.17-rc6.

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