| From eb60fa371a841bfc7e87ea8fac7b71457b6fb294 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 30 Aug 2018 14:50:11 +0300 |
| Subject: power: reset: at91-poweroff: do not procede if at91_shdwc is |
| allocated |
| |
| From: Claudiu Beznea <claudiu.beznea@microchip.com> |
| |
| [ Upstream commit 9f1e44774be578fb92776add95f1fcaf8284d692 ] |
| |
| There should be only one instance of struct shdwc in the system. This is |
| referenced through at91_shdwc. Return in probe if at91_shdwc is already |
| allocated. |
| |
| Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com> |
| Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> |
| Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/power/reset/at91-sama5d2_shdwc.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c |
| index 0206cce328b3d..d9493e893d64e 100644 |
| --- a/drivers/power/reset/at91-sama5d2_shdwc.c |
| +++ b/drivers/power/reset/at91-sama5d2_shdwc.c |
| @@ -246,6 +246,9 @@ static int __init at91_shdwc_probe(struct platform_device *pdev) |
| if (!pdev->dev.of_node) |
| return -ENODEV; |
| |
| + if (at91_shdwc) |
| + return -EBUSY; |
| + |
| at91_shdwc = devm_kzalloc(&pdev->dev, sizeof(*at91_shdwc), GFP_KERNEL); |
| if (!at91_shdwc) |
| return -ENOMEM; |
| -- |
| 2.20.1 |
| |