[PATCH 4.7 063/143] pinctrl: meson: Drop pinctrl_unregister for devm_ registered device

From: Greg Kroah-Hartman
Date: Mon Sep 05 2016 - 12:51:22 EST


4.7-stable review patch. If anyone has any objections, please let me know.

------------------

From: Wei Yongjun <weiyj.lk@xxxxxxxxx>

commit 5b236d0fde21d88351420ef0b9a6cb7aeeea0c54 upstream.

It's not necessary to unregister pin controller device registered
with devm_pinctrl_register() and using pinctrl_unregister() leads
to a double free.

This is detected by Coccinelle semantic patch.

Fixes: e649f7ec8c5f ("pinctrl: meson: Use devm_pinctrl_register() for pinctrl registration")
Signed-off-by: Wei Yongjun <weiyj.lk@xxxxxxxxx>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/pinctrl/meson/pinctrl-meson.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -727,13 +727,7 @@ static int meson_pinctrl_probe(struct pl
return PTR_ERR(pc->pcdev);
}

- ret = meson_gpiolib_register(pc);
- if (ret) {
- pinctrl_unregister(pc->pcdev);
- return ret;
- }
-
- return 0;
+ return meson_gpiolib_register(pc);
}

static struct platform_driver meson_pinctrl_driver = {