diff options
Diffstat (limited to 'arch/x86/kernel/cpu/microcode')
| -rw-r--r-- | arch/x86/kernel/cpu/microcode/amd.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/cpu/microcode/core.c | 13 | 
2 files changed, 10 insertions, 5 deletions
| diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c index 9eb457b10341..f5fdeb1e3606 100644 --- a/arch/x86/kernel/cpu/microcode/amd.c +++ b/arch/x86/kernel/cpu/microcode/amd.c @@ -61,7 +61,7 @@ static u8 amd_ucode_patch[MAX_NUMNODES][PATCH_MAX_SIZE];  /*   * Microcode patch container file is prepended to the initrd in cpio - * format. See Documentation/x86/microcode.rst + * format. See Documentation/arch/x86/microcode.rst   */  static const char  ucode_path[] __maybe_unused = "kernel/x86/microcode/AuthenticAMD.bin"; diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c index 7a329e561354..3afcf3de0dd4 100644 --- a/arch/x86/kernel/cpu/microcode/core.c +++ b/arch/x86/kernel/cpu/microcode/core.c @@ -632,6 +632,7 @@ static const struct attribute_group cpu_root_microcode_group = {  static int __init microcode_init(void)  { +	struct device *dev_root;  	struct cpuinfo_x86 *c = &boot_cpu_data;  	int error; @@ -652,10 +653,14 @@ static int __init microcode_init(void)  	if (IS_ERR(microcode_pdev))  		return PTR_ERR(microcode_pdev); -	error = sysfs_create_group(&cpu_subsys.dev_root->kobj, &cpu_root_microcode_group); -	if (error) { -		pr_err("Error creating microcode group!\n"); -		goto out_pdev; +	dev_root = bus_get_dev_root(&cpu_subsys); +	if (dev_root) { +		error = sysfs_create_group(&dev_root->kobj, &cpu_root_microcode_group); +		put_device(dev_root); +		if (error) { +			pr_err("Error creating microcode group!\n"); +			goto out_pdev; +		}  	}  	/* Do per-CPU setup */ | 
