Unverified Commit 2c7b1227 authored by Mario Limonciello's avatar Mario Limonciello Committed by Mark Brown
Browse files

ASoC: SOF: amd: Fix error code handling in psp_send_cmd()



The smn_read_register() helper returns negative error codes on failure
or the register value on success. When used with read_poll_timeout(),
the return value is stored in the 'data' variable.

Currently 'data' is declared as u32, which causes negative error codes
to be cast to large positive values. This makes the condition 'data > 0'
incorrectly treat errors as success.

Fix by changing 'data' from u32 to int, matching the pattern used in
psp_mbox_ready() which correctly handles the same helper function.

Reported-by: default avatarDan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/linux-sound/agGES8vWrLOrBu28@stanley.mountain/


Fixes: f120cf33 ("ASoC: SOF: amd: Use AMD_NODE")
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Link: https://patch.msgid.link/20260511153638.724810-1-mario.limonciello@amd.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent d7439742
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -223,7 +223,7 @@ static int psp_send_cmd(struct acp_dev_data *adata, int cmd)
{
	struct snd_sof_dev *sdev = adata->dev;
	int ret;
	u32 data;
	int data;

	if (!cmd)
		return -EINVAL;