qmc_audio_probe() manually puts the current child node before returning
from the DAI parsing loop on error.
Use for_each_available_child_of_node_scoped() so the current child node is
released automatically on early return and normal loop exit.
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260608-asoc-of-node-scoped-cleanup-v1-2-9e3ac518dc2e@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
{
struct device_node *np = pdev->dev.of_node;
struct qmc_audio *qmc_audio;
- struct device_node *child;
unsigned int i;
int ret;
}
i = 0;
- for_each_available_child_of_node(np, child) {
+ for_each_available_child_of_node_scoped(np, child) {
ret = qmc_audio_dai_parse(qmc_audio, child,
qmc_audio->dais + i,
qmc_audio->dai_drivers + i);
- if (ret) {
- of_node_put(child);
+ if (ret)
return ret;
- }
i++;
}