diff options
author | Pallipadi, Venkatesh <venkatesh.pallipadi@intel.com> | 2009-06-19 20:14:59 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-06-20 00:50:52 -0400 |
commit | 7b768f07dce463a054c9dd84862d15ccc3d2b712 (patch) | |
tree | 1c7a2509e1bca6718fd29e897f44b648089f728b /drivers/acpi | |
parent | 07a2039b8eb0af4ff464efd3dfd95de5c02648c6 (diff) |
ACPI: pdc init related memory leak with physical CPU hotplug
arch_acpi_processor_cleanup_pdc() in x86 and ia64 results in memory allocated
for _PDC objects that is never freed and will cause memory leak in case of
physical CPU remove and add. Patch fixes the memory leak by freeing the
objects soon after _PDC is evaluated.
Reported-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/processor_core.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 23f0fb84f1c1..d40d45e904a5 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
@@ -731,6 +731,8 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device) | |||
731 | /* _PDC call should be done before doing anything else (if reqd.). */ | 731 | /* _PDC call should be done before doing anything else (if reqd.). */ |
732 | arch_acpi_processor_init_pdc(pr); | 732 | arch_acpi_processor_init_pdc(pr); |
733 | acpi_processor_set_pdc(pr); | 733 | acpi_processor_set_pdc(pr); |
734 | arch_acpi_processor_cleanup_pdc(pr); | ||
735 | |||
734 | #ifdef CONFIG_CPU_FREQ | 736 | #ifdef CONFIG_CPU_FREQ |
735 | acpi_processor_ppc_has_changed(pr); | 737 | acpi_processor_ppc_has_changed(pr); |
736 | #endif | 738 | #endif |