[PATCH 1/2] ASoC: amd: acp: fix for acp_init function error handling
If acp_init() fails, acp pci driver probe should return error. Add acp_init() function return value check logic.
Fixes: e61b415515d3 ("ASoC: amd: acp: refactor the acp init and de-init sequence")
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/acp/acp-pci.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/soc/amd/acp/acp-pci.c b/sound/soc/amd/acp/acp-pci.c index 8c8b1dcac628..c1d4140f0746 100644 --- a/sound/soc/amd/acp/acp-pci.c +++ b/sound/soc/amd/acp/acp-pci.c @@ -115,7 +115,10 @@ static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id goto unregister_dmic_dev; }
- acp_init(chip); + ret = acp_init(chip); + if (ret) + return ret; + res = devm_kcalloc(&pci->dev, num_res, sizeof(struct resource), GFP_KERNEL); if (!res) { ret = -ENOMEM;
ACP PDM configuration has to be verified for all combinations. Remove FLAG_AMD_LEGACY_ONLY_DMIC check.
Fixes: 3a94c8ad0aae ("ASoC: amd: acp: add code for scanning acp pdm controller")
Signed-off-by: Vijendar Mukunda Vijendar.Mukunda@amd.com --- sound/soc/amd/acp/acp-pci.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/sound/soc/amd/acp/acp-pci.c b/sound/soc/amd/acp/acp-pci.c index c1d4140f0746..21574cfaa136 100644 --- a/sound/soc/amd/acp/acp-pci.c +++ b/sound/soc/amd/acp/acp-pci.c @@ -136,11 +136,9 @@ static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id } }
- if (flag == FLAG_AMD_LEGACY_ONLY_DMIC) { - ret = check_acp_pdm(pci, chip); - if (ret < 0) - goto skip_pdev_creation; - } + ret = check_acp_pdm(pci, chip); + if (ret < 0) + goto skip_pdev_creation;
chip->flag = flag; memset(&pdevinfo, 0, sizeof(pdevinfo));
On Wed, Mar 27, 2024 at 04:16:52PM +0530, Vijendar Mukunda wrote:
@@ -115,7 +115,10 @@ static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id goto unregister_dmic_dev; }
- acp_init(chip);
- ret = acp_init(chip);
- if (ret)
return ret;
The return check is good but shouldn't this be a 'goto unregister_dmic_dev' like the above case so we do cleanup?
On 27/03/24 20:28, Mark Brown wrote:
On Wed, Mar 27, 2024 at 04:16:52PM +0530, Vijendar Mukunda wrote:
@@ -115,7 +115,10 @@ static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id goto unregister_dmic_dev; }
- acp_init(chip);
- ret = acp_init(chip);
- if (ret)
return ret;
The return check is good but shouldn't this be a 'goto unregister_dmic_dev' like the above case so we do cleanup?
I do agree. Will modify the code and respin the patch series.
On Wed, 27 Mar 2024 16:16:52 +0530, Vijendar Mukunda wrote:
If acp_init() fails, acp pci driver probe should return error. Add acp_init() function return value check logic.
Fixes: e61b415515d3 ("ASoC: amd: acp: refactor the acp init and de-init sequence")
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[2/2] ASoC: amd: acp: fix for acp pdm configuration check commit: 4af565de9f8c74b9f6035924ce0d40adec211246
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
participants (3)
-
Mark Brown
-
Mukunda,Vijendar
-
Vijendar Mukunda