pinctrl: pinctrl-imx: free if of_get_parent fails to get the parent node
[firefly-linux-kernel-4.4.55.git] / drivers / pinctrl / pinctrl-imx.c
index 09f3a30835409034f20f6f0c90efaed3b56e883d..542b01b1f814f22f6f0000093e4d396e03a56aa8 100644 (file)
@@ -173,8 +173,10 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,
 
        /* create mux map */
        parent = of_get_parent(np);
-       if (!parent)
+       if (!parent) {
+               kfree(new_map);
                return -EINVAL;
+       }
        new_map[0].type = PIN_MAP_TYPE_MUX_GROUP;
        new_map[0].data.mux.function = parent->name;
        new_map[0].data.mux.group = np->name;