Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cb8bc25 authored by Dave Jones's avatar Dave Jones
Browse files

[CPUFREQ] powernow-k8: Use a common exit path.



a0abd520 introduced a slew of
extra kfree/return -ENODEV pairs. This replaces them all
with gotos.

Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent de3ed81d
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -1254,21 +1254,18 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)
					"BIOS vendor.\n");
				print_once++;
			}
			kfree(data);
			return -ENODEV;
			goto err_out;
		}
		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");
			kfree(data);
			return -ENODEV;
			goto err_out;
		}
		rc = find_psb_table(data);
		if (rc) {
			kfree(data);
			return -ENODEV;
		}
		if (rc)
			goto err_out;

		/* Take a crude guess here.
		 * That guess was in microseconds, so multiply with 1000 */
		pol->cpuinfo.transition_latency = (
@@ -1283,16 +1280,16 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)

	if (smp_processor_id() != pol->cpu) {
		printk(KERN_ERR PFX "limiting to cpu %u failed\n", pol->cpu);
		goto err_out;
		goto err_out_unmask;
	}

	if (pending_bit_stuck()) {
		printk(KERN_ERR PFX "failing init, change pending bit set\n");
		goto err_out;
		goto err_out_unmask;
	}

	if (query_current_values_with_pending_wait(data))
		goto err_out;
		goto err_out_unmask;

	if (cpu_family == CPU_OPTERON)
		fidvid_msr_init();
@@ -1335,10 +1332,11 @@ static int __cpuinit powernowk8_cpu_init(struct cpufreq_policy *pol)

	return 0;

err_out:
err_out_unmask:
	set_cpus_allowed_ptr(current, &oldmask);
	powernow_k8_cpu_exit_acpi(data);

err_out:
	kfree(data);
	return -ENODEV;
}