Re: [PATCH 2/3] cpumask: fix powernow-k8: partial revert of2fdf66b491ac706657946442789ec644cc317e1a

From: Ingo Molnar
Date: Mon Feb 09 2009 - 05:18:12 EST



* Rusty Russell <rusty@xxxxxxxxxxxxxxx> 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@xxxxxxx>
> Cc: Yinghai Lu <yinghai@xxxxxxxxxx>
> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/