Commit e9a0d8f0 authored by Dave Mueller's avatar Dave Mueller Committed by james toy

It looks like commit 394122ab ("cpumask:

avoid playing with cpus_allowed in speedstep-ich.c") broke the
speedstep-ich driver.

The problem seems to be that speedstep-lib.c:speedstep_get_frequency() is
called with a wrong value as "processor" parameter by the code below,
resulting in a return value of 0.  The "processor" parameter should be the
value returned by "speedstep_detect_processor()"

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14340

Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Dominik Brodowski <linux@brodo.de>
Cc: Dave Jones <davej@redhat.com>
Cc: Eric Pielbug <e.a.b.piel@tudelft.nl>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 822a523d
...@@ -246,7 +246,7 @@ static void get_freq_data(void *_data) ...@@ -246,7 +246,7 @@ static void get_freq_data(void *_data)
static unsigned int speedstep_get(unsigned int cpu) static unsigned int speedstep_get(unsigned int cpu)
{ {
struct get_freq_data data = { .processor = cpu }; struct get_freq_data data = { .processor = speedstep_processor };
/* You're supposed to ensure CPU is online. */ /* You're supposed to ensure CPU is online. */
if (smp_call_function_single(cpu, get_freq_data, &data, 1) != 0) if (smp_call_function_single(cpu, get_freq_data, &data, 1) != 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment