[IA64] Fix processor_get_freq
authorAlex Williamson <alex.williamson@hp.com>
Mon, 13 Aug 2007 21:49:46 +0000 (15:49 -0600)
committerTony Luck <tony.luck@intel.com>
Wed, 15 Aug 2007 20:20:38 +0000 (13:20 -0700)
The core cpufreq code doesn't appear to understand returning -EAGAIN
for the get() function of the cpufreq_driver.  If PAL_GET_PSTATE returns
-1, such as when running on Xen, scaling_cur_freq is happy to return
4294967285 kHz (ie. (unsigned)-11).  The other drivers appear to return
0 for a failure, and doing so gives me the max frequency from
scaling_cur_frequency and "<unknown>" from cpuinfo_cur_frequency.  I
believe that's the desired behavior.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/cpufreq/acpi-cpufreq.c

index 15c08d5..8c6ec70 100644 (file)
@@ -113,10 +113,8 @@ processor_get_freq (
 
        saved_mask = current->cpus_allowed;
        set_cpus_allowed(current, cpumask_of_cpu(cpu));
-       if (smp_processor_id() != cpu) {
-               ret = -EAGAIN;
+       if (smp_processor_id() != cpu)
                goto migrate_end;
-       }
 
        /* processor_get_pstate gets the instantaneous frequency */
        ret = processor_get_pstate(&value);
@@ -125,7 +123,7 @@ processor_get_freq (
                set_cpus_allowed(current, saved_mask);
                printk(KERN_WARNING "get performance failed with error %d\n",
                       ret);
-               ret = -EAGAIN;
+               ret = 0;
                goto migrate_end;
        }
        clock_freq = extract_clock(data, value, cpu);