--- orig/drivers/cpufreq/cpufreq.c 2005-01-31 01:04:17.503452072 -0500 +++ mod/drivers/cpufreq/cpufreq.c 2005-01-31 01:05:15.992560376 -0500 @@ -900,9 +900,11 @@ if (cpufreq_driver->resume) { ret = cpufreq_driver->resume(cpu_policy); - printk(KERN_ERR "cpufreq: resume failed in ->resume step on CPU %u\n", cpu_policy->cpu); - cpufreq_cpu_put(cpu_policy); - return (ret); + if (ret) { + printk(KERN_ERR "cpufreq: resume failed in ->resume step on CPU %u\n", cpu_policy->cpu); + cpufreq_cpu_put(cpu_policy); + return (ret); + } } if (!(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) {