Skip to content

Commit 7218588

Browse files
andy-shevbroonie
authored andcommitted
ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
Theoretically the device might gone if its reference count drops to 0. This might be the case when we try to find the first physical node of the ACPI device. We need to keep reference to it until we get a result of the above mentioned call. Refactor the code to drop the reference count at the correct place. While at it, move to acpi_dev_put() as symmetrical call to the acpi_dev_get_first_match_dev(). Fixes: 02c0a3b ("ASoC: Intel: bytcr_rt5651: add MCLK, quirks and cleanups") Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 6b1c0bd commit 7218588

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

sound/soc/intel/boards/bytcr_rt5651.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -922,14 +922,14 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
922922
if (adev) {
923923
snprintf(byt_rt5651_codec_name, sizeof(byt_rt5651_codec_name),
924924
"i2c-%s", acpi_dev_name(adev));
925-
put_device(&adev->dev);
926925
byt_rt5651_dais[dai_index].codecs->name = byt_rt5651_codec_name;
927926
} else {
928927
dev_err(dev, "Error cannot find '%s' dev\n", mach->id);
929928
return -ENXIO;
930929
}
931930

932931
codec_dev = acpi_get_first_physical_node(adev);
932+
acpi_dev_put(adev);
933933
if (!codec_dev)
934934
return -EPROBE_DEFER;
935935
priv->codec_dev = get_device(codec_dev);

0 commit comments

Comments
 (0)