From c4abc44b361c9d71030a99c6ff5197ab4d223ef4 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Wed, 7 Dec 2011 17:26:56 +0100 Subject: [PATCH] --- yaml --- r: 277483 b: refs/heads/master c: d733689ad57ec332fb1e392115d83a75f35df1cf h: refs/heads/master i: 277481: a51fee215dd0070b6d71a0264738c64e47f66bb3 277479: a02bad0bb5ebdbea65d2aa4ad225c2a4f40806b9 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/microcode_amd.c | 22 +++++++++------------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index ff2fd4a0b181..69f25c02e096 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be62adb492943ce2525ff19401b389a85006ad15 +refs/heads/master: d733689ad57ec332fb1e392115d83a75f35df1cf diff --git a/trunk/arch/x86/kernel/microcode_amd.c b/trunk/arch/x86/kernel/microcode_amd.c index 384990d2c54d..d80e943a39f3 100644 --- a/trunk/arch/x86/kernel/microcode_amd.c +++ b/trunk/arch/x86/kernel/microcode_amd.c @@ -282,11 +282,11 @@ generic_load_microcode(int cpu, const u8 *data, size_t size) mc_hdr = patch; new_mc = patch; new_rev = mc_hdr->patch_id; - leftover -= mc_size; - } else { - ucode_ptr += current_size; - leftover -= current_size; + goto out_ok; } + + ucode_ptr += current_size; + leftover -= current_size; } if (!new_mc) { @@ -294,15 +294,11 @@ generic_load_microcode(int cpu, const u8 *data, size_t size) goto free_table; } - if (!leftover) { - uci->mc = new_mc; - state = UCODE_OK; - pr_debug("CPU%d update ucode (0x%08x -> 0x%08x)\n", - cpu, uci->cpu_sig.rev, new_rev); - } else { - new_mc = NULL; - state = UCODE_ERROR; - } +out_ok: + uci->mc = new_mc; + state = UCODE_OK; + pr_debug("CPU%d update ucode (0x%08x -> 0x%08x)\n", + cpu, uci->cpu_sig.rev, new_rev); free_table: free_equiv_cpu_table();