diff --git a/[refs] b/[refs] index 855217f2a43f..2f8a03b28960 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5db1bc1892aa70d378ea7563852ae87f3772519b +refs/heads/master: 865df9cb122d9e5ecbbb7056f2c9c64933bf8dd0 diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index 29046e750ad7..f7551c1c827c 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -1255,6 +1255,8 @@ static int soc_post_component_init(struct snd_soc_card *card, INIT_LIST_HEAD(&rtd->dpcm[SNDRV_PCM_STREAM_CAPTURE].fe_clients); ret = device_add(rtd->dev); if (ret < 0) { + /* calling put_device() here to free the rtd->dev */ + put_device(rtd->dev); dev_err(card->dev, "ASoC: failed to register runtime device: %d\n", ret); return ret;