Skip to content

Commit e26ff42

Browse files
jhovoldbroonie
authored andcommitted
ASoC: stm32: sai: fix device leak on probe
Make sure to drop the reference taken when looking up the sync provider device and its driver data during DAI probe on probe failures and on unbind. Note that holding a reference to a device does not prevent its driver data from going away so there is no point in keeping the reference. Fixes: 7dd0d83 ("ASoC: stm32: sai: simplify sync modes management") Fixes: 1c3816a ("ASoC: stm32: sai: add missing put_device()") Cc: stable@vger.kernel.org # 4.16: 1c3816a Cc: olivier moysan <olivier.moysan@st.com> Cc: Wen Yang <yellowriver2010@hotmail.com> Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: olivier moysan <olivier.moysan@foss.st.com> Link: https://patch.msgid.link/20251124104908.15754-2-johan@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent ac3fd01 commit e26ff42

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

sound/soc/stm/stm32_sai.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ static int stm32_sai_set_sync(struct stm32_sai_data *sai_client,
143143
}
144144

145145
sai_provider = platform_get_drvdata(pdev);
146+
put_device(&pdev->dev);
146147
if (!sai_provider) {
147148
dev_err(&sai_client->pdev->dev,
148149
"SAI sync provider data not found\n");
@@ -159,7 +160,6 @@ static int stm32_sai_set_sync(struct stm32_sai_data *sai_client,
159160
ret = stm32_sai_sync_conf_provider(sai_provider, synco);
160161

161162
error:
162-
put_device(&pdev->dev);
163163
of_node_put(np_provider);
164164
return ret;
165165
}

0 commit comments

Comments
 (0)