diff options
Diffstat (limited to 'sound/soc/codecs/twl4030.c')
| -rw-r--r-- | sound/soc/codecs/twl4030.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c index c482b2e7a7d2..cfe72b9d4356 100644 --- a/sound/soc/codecs/twl4030.c +++ b/sound/soc/codecs/twl4030.c @@ -232,7 +232,7 @@ static struct twl4030_codec_data *twl4030_get_pdata(struct snd_soc_codec *codec)  	struct twl4030_codec_data *pdata = dev_get_platdata(codec->dev);  	struct device_node *twl4030_codec_node = NULL; -	twl4030_codec_node = of_find_node_by_name(codec->dev->parent->of_node, +	twl4030_codec_node = of_get_child_by_name(codec->dev->parent->of_node,  						  "codec");  	if (!pdata && twl4030_codec_node) { @@ -241,9 +241,11 @@ static struct twl4030_codec_data *twl4030_get_pdata(struct snd_soc_codec *codec)  				     GFP_KERNEL);  		if (!pdata) {  			dev_err(codec->dev, "Can not allocate memory\n"); +			of_node_put(twl4030_codec_node);  			return NULL;  		}  		twl4030_setup_pdata_of(pdata, twl4030_codec_node); +		of_node_put(twl4030_codec_node);  	}  	return pdata;  | 

