diff options
Diffstat (limited to 'drivers/xen/xen-acpi-processor.c')
| -rw-r--r-- | drivers/xen/xen-acpi-processor.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c index 7ff2569e17ae..b590ee067fcd 100644 --- a/drivers/xen/xen-acpi-processor.c +++ b/drivers/xen/xen-acpi-processor.c @@ -520,15 +520,18 @@ static int __init xen_acpi_processor_init(void)  		if (!pr_backup) {  			pr_backup = kzalloc(sizeof(struct acpi_processor), GFP_KERNEL); -			memcpy(pr_backup, _pr, sizeof(struct acpi_processor)); +			if (pr_backup) +				memcpy(pr_backup, _pr, sizeof(struct acpi_processor));  		}  		(void)upload_pm_data(_pr);  	}  	rc = check_acpi_ids(pr_backup); -	if (rc) -		goto err_unregister;  	kfree(pr_backup); +	pr_backup = NULL; + +	if (rc) +		goto err_unregister;  	return 0;  err_unregister:  | 
