From 01ae21bcf2623e84bafd5ddd46266d5b1e3e5afe Mon Sep 17 00:00:00 2001 From: Devendra Naga Date: Sat, 9 Jun 2012 17:31:23 +0530 Subject: [PATCH] --- yaml --- r: 310812 b: refs/heads/master c: 0bf7481852c8ece4888c299ba0259b789c3dbde3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/pinctrl/pinctrl-mxs.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 17b26d3541b5..c6d3fd839418 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 67695f2eae210b0631fb92cf5649d0454953e230 +refs/heads/master: 0bf7481852c8ece4888c299ba0259b789c3dbde3 diff --git a/trunk/drivers/pinctrl/pinctrl-mxs.c b/trunk/drivers/pinctrl/pinctrl-mxs.c index 556e45a213eb..9d46303a84e7 100644 --- a/trunk/drivers/pinctrl/pinctrl-mxs.c +++ b/trunk/drivers/pinctrl/pinctrl-mxs.c @@ -107,8 +107,10 @@ static int mxs_dt_node_to_map(struct pinctrl_dev *pctldev, /* Compose group name */ group = kzalloc(length, GFP_KERNEL); - if (!group) - return -ENOMEM; + if (!group) { + ret = -ENOMEM; + goto free; + } snprintf(group, length, "%s.%d", np->name, reg); new_map[i].data.mux.group = group; i++; @@ -118,7 +120,7 @@ static int mxs_dt_node_to_map(struct pinctrl_dev *pctldev, pconfig = kmemdup(&config, sizeof(config), GFP_KERNEL); if (!pconfig) { ret = -ENOMEM; - goto free; + goto free_group; } new_map[i].type = PIN_MAP_TYPE_CONFIGS_GROUP; @@ -133,6 +135,9 @@ static int mxs_dt_node_to_map(struct pinctrl_dev *pctldev, return 0; +free_group: + if (!purecfg) + free(group); free: kfree(new_map); return ret;