diff options
| -rw-r--r-- | arch/arm/mach-at91/pm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index 51e808adb00c..2a757dcaa1a5 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c | |||
| @@ -591,13 +591,13 @@ static int __init at91_pm_backup_init(void) | |||
| 591 | 591 | ||
| 592 | np = of_find_compatible_node(NULL, NULL, "atmel,sama5d2-securam"); | 592 | np = of_find_compatible_node(NULL, NULL, "atmel,sama5d2-securam"); |
| 593 | if (!np) | 593 | if (!np) |
| 594 | goto securam_fail; | 594 | goto securam_fail_no_ref_dev; |
| 595 | 595 | ||
| 596 | pdev = of_find_device_by_node(np); | 596 | pdev = of_find_device_by_node(np); |
| 597 | of_node_put(np); | 597 | of_node_put(np); |
| 598 | if (!pdev) { | 598 | if (!pdev) { |
| 599 | pr_warn("%s: failed to find securam device!\n", __func__); | 599 | pr_warn("%s: failed to find securam device!\n", __func__); |
| 600 | goto securam_fail; | 600 | goto securam_fail_no_ref_dev; |
| 601 | } | 601 | } |
| 602 | 602 | ||
| 603 | sram_pool = gen_pool_get(&pdev->dev, NULL); | 603 | sram_pool = gen_pool_get(&pdev->dev, NULL); |
| @@ -620,6 +620,8 @@ static int __init at91_pm_backup_init(void) | |||
| 620 | return 0; | 620 | return 0; |
| 621 | 621 | ||
| 622 | securam_fail: | 622 | securam_fail: |
| 623 | put_device(&pdev->dev); | ||
| 624 | securam_fail_no_ref_dev: | ||
| 623 | iounmap(pm_data.sfrbu); | 625 | iounmap(pm_data.sfrbu); |
| 624 | pm_data.sfrbu = NULL; | 626 | pm_data.sfrbu = NULL; |
| 625 | return ret; | 627 | return ret; |
