Suspend/Resume fails on multi socket, multi core systems because the cpufreq code erroneously sets the per_cpu policy_cpu value when a logical cpu is offline. The code should not do this as this breaks userspace utilities because of missing sysfs files. I wrote a script to automate the suspend/resume: #!/bin/bash echo "BEFORE" echo " " (cd /sys; find ./ -name *cpufreq*) sysctl -w kernel.printk=8 echo disk > /sys/power/state echo "AFTER" echo " " (cd /sys; find ./ -name *cpufreq*) BEFORE THE PATCH WAS APPLIED: ---------------------------------- BEFORE ./module/cpufreq_ondemand ./module/acpi_cpufreq ./module/cpufreq ./devices/system/cpu/cpu15/cpufreq ./devices/system/cpu/cpu14/cpufreq ./devices/system/cpu/cpu13/cpufreq ./devices/system/cpu/cpu12/cpufreq ./devices/system/cpu/cpu11/cpufreq ./devices/system/cpu/cpu10/cpufreq ./devices/system/cpu/cpu9/cpufreq ./devices/system/cpu/cpu8/cpufreq ./devices/system/cpu/cpu7/cpufreq ./devices/system/cpu/cpu6/cpufreq ./devices/system/cpu/cpu5/cpufreq ./devices/system/cpu/cpu4/cpufreq ./devices/system/cpu/cpu3/cpufreq ./devices/system/cpu/cpu2/cpufreq ./devices/system/cpu/cpu1/cpufreq ./devices/system/cpu/cpu0/cpufreq kernel.printk = 8 ./doit: line 6: echo: write error: Device or resource busy AFTER ./module/cpufreq_ondemand ./module/acpi_cpufreq ./module/cpufreq ./devices/system/cpu/cpu12/cpufreq ./devices/system/cpu/cpu8/cpufreq ./devices/system/cpu/cpu4/cpufreq ./devices/system/cpu/cpu3/cpufreq ./devices/system/cpu/cpu2/cpufreq ./devices/system/cpu/cpu1/cpufreq ./devices/system/cpu/cpu0/cpufreq cpufreq fails to work because of missing sysfs files. AFTER THE PATCH WAS APPLIED: ---------------------------------- BEFORE ./module/cpufreq_ondemand ./module/acpi_cpufreq ./module/cpufreq ./devices/system/cpu/cpu15/cpufreq ./devices/system/cpu/cpu14/cpufreq ./devices/system/cpu/cpu13/cpufreq ./devices/system/cpu/cpu12/cpufreq ./devices/system/cpu/cpu11/cpufreq ./devices/system/cpu/cpu10/cpufreq ./devices/system/cpu/cpu9/cpufreq ./devices/system/cpu/cpu8/cpufreq ./devices/system/cpu/cpu7/cpufreq ./devices/system/cpu/cpu6/cpufreq ./devices/system/cpu/cpu5/cpufreq ./devices/system/cpu/cpu4/cpufreq ./devices/system/cpu/cpu3/cpufreq ./devices/system/cpu/cpu2/cpufreq ./devices/system/cpu/cpu1/cpufreq ./devices/system/cpu/cpu0/cpufreq kernel.printk = 8 ./doit: line 6: echo: write error: Device or resource busy AFTER ./module/cpufreq_ondemand ./module/acpi_cpufreq ./module/cpufreq ./devices/system/cpu/cpu15/cpufreq ./devices/system/cpu/cpu14/cpufreq ./devices/system/cpu/cpu13/cpufreq ./devices/system/cpu/cpu12/cpufreq ./devices/system/cpu/cpu11/cpufreq ./devices/system/cpu/cpu10/cpufreq ./devices/system/cpu/cpu9/cpufreq ./devices/system/cpu/cpu8/cpufreq ./devices/system/cpu/cpu7/cpufreq ./devices/system/cpu/cpu6/cpufreq ./devices/system/cpu/cpu5/cpufreq ./devices/system/cpu/cpu4/cpufreq ./devices/system/cpu/cpu3/cpufreq ./devices/system/cpu/cpu2/cpufreq ./devices/system/cpu/cpu1/cpufreq ./devices/system/cpu/cpu0/cpufreq and cpufreq works correctly. P. -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html