Unverified Commit 14e91ddd authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Mark Brown
Browse files

ASoC: Intel: boards: always check the result of acpi_dev_get_first_match_dev()



The code seems mostly copy-pasted, with some machine drivers
forgetting to test if the 'adev' result is NULL.

Add this check when missing, and use -ENOENT consistently as an error
code.

Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/alsa-devel/918944d2-3d00-465e-a9d1-5d57fc966113@stanley.mountain/T/#u


Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarPéter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20240827123215.258859-4-yung-chuan.liao@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 1ab959be
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -255,7 +255,11 @@ static int snd_byt_cht_cx2072x_probe(struct platform_device *pdev)
		snprintf(codec_name, sizeof(codec_name), "i2c-%s",
			 acpi_dev_name(adev));
		byt_cht_cx2072x_dais[dai_index].codecs->name = codec_name;
	} else {
		dev_err(&pdev->dev, "Error cannot find '%s' dev\n", mach->id);
		return -ENOENT;
	}

	acpi_dev_put(adev);

	/* override platform name, if required */
+4 −0
Original line number Diff line number Diff line
@@ -258,7 +258,11 @@ static int bytcht_da7213_probe(struct platform_device *pdev)
		snprintf(codec_name, sizeof(codec_name),
			 "i2c-%s", acpi_dev_name(adev));
		dailink[dai_index].codecs->name = codec_name;
	} else {
		dev_err(&pdev->dev, "Error cannot find '%s' dev\n", mach->id);
		return -ENOENT;
	}

	acpi_dev_put(adev);

	/* override platform name, if required */
+1 −1
Original line number Diff line number Diff line
@@ -562,7 +562,7 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
		byt_cht_es8316_dais[dai_index].codecs->name = codec_name;
	} else {
		dev_err(dev, "Error cannot find '%s' dev\n", mach->id);
		return -ENXIO;
		return -ENOENT;
	}

	codec_dev = acpi_get_first_physical_node(adev);
+1 −1
Original line number Diff line number Diff line
@@ -1693,7 +1693,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
		byt_rt5640_dais[dai_index].codecs->name = byt_rt5640_codec_name;
	} else {
		dev_err(dev, "Error cannot find '%s' dev\n", mach->id);
		return -ENXIO;
		return -ENOENT;
	}

	codec_dev = acpi_get_first_physical_node(adev);
+1 −1
Original line number Diff line number Diff line
@@ -926,7 +926,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
		byt_rt5651_dais[dai_index].codecs->name = byt_rt5651_codec_name;
	} else {
		dev_err(dev, "Error cannot find '%s' dev\n", mach->id);
		return -ENXIO;
		return -ENOENT;
	}

	codec_dev = acpi_get_first_physical_node(adev);
Loading