Commit-ID: c2628f90c9964881a62dd8e9f7372ca05cb6fe32 Gitweb: http://git.kernel.org/tip/c2628f90c9964881a62dd8e9f7372ca05cb6fe32 Author: Borislav Petkov <b...@suse.de> AuthorDate: Mon, 10 Apr 2017 14:20:45 +0200 Committer: Ingo Molnar <mi...@kernel.org> CommitDate: Tue, 11 Apr 2017 08:44:59 +0200
perf/amd/uncore: Do feature check first, before assignments ... and save some unnecessary work. Remove now unused label while at it. Signed-off-by: Borislav Petkov <b...@suse.de> Cc: Alexander Shishkin <alexander.shish...@linux.intel.com> Cc: Arnaldo Carvalho de Melo <a...@redhat.com> Cc: Jiri Olsa <jo...@redhat.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Stephane Eranian <eran...@google.com> Cc: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Vince Weaver <vincent.wea...@maine.edu> Link: http://lkml.kernel.org/r/20170410122047.3026-2...@alien8.de Signed-off-by: Ingo Molnar <mi...@kernel.org> --- arch/x86/events/amd/uncore.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c index 4d1f7f2d..abd4b90 100644 --- a/arch/x86/events/amd/uncore.c +++ b/arch/x86/events/amd/uncore.c @@ -509,7 +509,10 @@ static int __init amd_uncore_init(void) int ret = -ENODEV; if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) - goto fail_nodev; + return -ENODEV; + + if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) + return -ENODEV; switch(boot_cpu_data.x86) { case 23: @@ -552,9 +555,6 @@ static int __init amd_uncore_init(void) amd_nb_pmu.attr_groups = amd_uncore_attr_groups_df; amd_llc_pmu.attr_groups = amd_uncore_attr_groups_l3; - if (!boot_cpu_has(X86_FEATURE_TOPOEXT)) - goto fail_nodev; - if (boot_cpu_has(X86_FEATURE_PERFCTR_NB)) { amd_uncore_nb = alloc_percpu(struct amd_uncore *); if (!amd_uncore_nb) { @@ -615,7 +615,6 @@ fail_nb: if (amd_uncore_nb) free_percpu(amd_uncore_nb); -fail_nodev: return ret; } device_initcall(amd_uncore_init);