pinctrl: pxa: pxa2xx: add pin control skeleton
The wrong free functions were used to release temporary buffers.
This didn't show up in the normal driver's life. Yet in suspend to RAM,
the managed resource list is walked, and as memory was released, the
list is corrupted and make the kernel Oops.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
diff --git a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
index e019144..d90e205 100644
--- a/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
+++ b/drivers/pinctrl/pxa/pinctrl-pxa2xx.c
@@ -292,7 +292,7 @@
if (!pctl->functions)
return -ENOMEM;
- kfree(functions);
+ devm_kfree(pctl->dev, functions);
return 0;
}
@@ -328,7 +328,7 @@
memcpy(func->groups, gtmp, ngroups * sizeof(*gtmp));
}
- kfree(gtmp);
+ devm_kfree(pctl->dev, gtmp);
return 0;
}