[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090209101723.GH20467@elte.hu>
Date: Mon, 9 Feb 2009 11:17:23 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Rusty Russell <rusty@...tcorp.com.au>
Cc: Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org,
Mike Travis <travis@....com>, Yinghai Lu <yinghai@...nel.org>
Subject: Re: [PATCH 2/3] cpumask: fix powernow-k8: partial revert of
2fdf66b491ac706657946442789ec644cc317e1a
* Rusty Russell <rusty@...tcorp.com.au> wrote:
> Impact: fix powernow-k8 when acpi=off (or other error).
>
> There was a spurious change introduced into powernow-k8 in this patch:
> the cause if that we try to "restore" the cpus_allowed we never saved.
>
> See lkml "[PATCH] x86/powernow: fix cpus_allowed brokage when
> acpi=off" from Yinghai for the bug report.
>
> Cc: Mike Travis <travis@....com>
> Cc: Yinghai Lu <yinghai@...nel.org>
> Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
> ---
> arch/x86/kernel/cpu/cpufreq/powernow-k8.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> --- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> +++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
> @@ -1142,8 +1142,7 @@ static int __cpuinit powernowk8_cpu_init
> data->cpu = pol->cpu;
> data->currpstate = HW_PSTATE_INVALID;
>
> - rc = powernow_k8_cpu_init_acpi(data);
> - if (rc) {
> + if (powernow_k8_cpu_init_acpi(data)) {
> /*
> * Use the PSB BIOS structure. This is only availabe on
> * an UP version, and is deprecated by AMD.
> @@ -1161,17 +1160,20 @@ static int __cpuinit powernowk8_cpu_init
> "ACPI maintainers and complain to your BIOS "
> "vendor.\n");
> #endif
> - goto err_out;
> + kfree(data);
> + return -ENODEV;
> }
> if (pol->cpu != 0) {
> printk(KERN_ERR FW_BUG PFX "No ACPI _PSS objects for "
> "CPU other than CPU0. Complain to your BIOS "
> "vendor.\n");
> - goto err_out;
> + kfree(data);
> + return -ENODEV;
> }
> rc = find_psb_table(data);
> if (rc) {
> - goto err_out;
> + kfree(data);
> + return -ENODEV;
> }
hm, why the 3-way duplication of this pattern:
> + kfree(data);
> + return -ENODEV;
because it's a straight revert?
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists