diff options
| -rw-r--r-- | drivers/acpi/cppc_acpi.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c index ae2ad6e94132..3ca0729f7e0e 100644 --- a/drivers/acpi/cppc_acpi.c +++ b/drivers/acpi/cppc_acpi.c | |||
| @@ -776,9 +776,6 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) | |||
| 776 | init_waitqueue_head(&pcc_data.pcc_write_wait_q); | 776 | init_waitqueue_head(&pcc_data.pcc_write_wait_q); |
| 777 | } | 777 | } |
| 778 | 778 | ||
| 779 | /* Plug PSD data into this CPUs CPC descriptor. */ | ||
| 780 | per_cpu(cpc_desc_ptr, pr->id) = cpc_ptr; | ||
| 781 | |||
| 782 | /* Everything looks okay */ | 779 | /* Everything looks okay */ |
| 783 | pr_debug("Parsed CPC struct for CPU: %d\n", pr->id); | 780 | pr_debug("Parsed CPC struct for CPU: %d\n", pr->id); |
| 784 | 781 | ||
| @@ -789,10 +786,15 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) | |||
| 789 | goto out_free; | 786 | goto out_free; |
| 790 | } | 787 | } |
| 791 | 788 | ||
| 789 | /* Plug PSD data into this CPUs CPC descriptor. */ | ||
| 790 | per_cpu(cpc_desc_ptr, pr->id) = cpc_ptr; | ||
| 791 | |||
| 792 | ret = kobject_init_and_add(&cpc_ptr->kobj, &cppc_ktype, &cpu_dev->kobj, | 792 | ret = kobject_init_and_add(&cpc_ptr->kobj, &cppc_ktype, &cpu_dev->kobj, |
| 793 | "acpi_cppc"); | 793 | "acpi_cppc"); |
| 794 | if (ret) | 794 | if (ret) { |
| 795 | per_cpu(cpc_desc_ptr, pr->id) = NULL; | ||
| 795 | goto out_free; | 796 | goto out_free; |
| 797 | } | ||
| 796 | 798 | ||
| 797 | kfree(output.pointer); | 799 | kfree(output.pointer); |
| 798 | return 0; | 800 | return 0; |
