Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96210450 authored by Aditya Bavanari's avatar Aditya Bavanari
Browse files

dsp: Update clk status when DSP returns error



When DSP returns error in clock or vote request
commands, update the clock status variable properly
to bail out from error scenarios.

Change-Id: Ib50e9e33b03fd77255b8719c125612686ea11b00
Signed-off-by: default avatarAditya Bavanari <abavanar@codeaurora.org>
parent 9eacb967
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -704,6 +704,9 @@ static int32_t afe_callback(struct apr_client_data *data, void *priv)
				payload[0], payload[1], data->token);
			/* payload[1] contains the error status for response */
			if (payload[1] != 0) {
				if(data->token == AFE_CLK_TOKEN)
					atomic_set(&this_afe.clk_status, payload[1]);
				else
					atomic_set(&this_afe.status, payload[1]);
				pr_err("%s: cmd = 0x%x returned error = 0x%x\n",
					__func__, payload[0], payload[1]);
@@ -781,6 +784,9 @@ static int32_t afe_callback(struct apr_client_data *data, void *priv)
			case AFE_CMD_REMOTE_LPASS_CORE_HW_VOTE_REQUEST:
			case AFE_CMD_REMOTE_LPASS_CORE_HW_DEVOTE_REQUEST:
				atomic_set(&this_afe.clk_state, 0);
				if (payload[1] != 0)
					atomic_set(&this_afe.clk_status,
							payload[1]);
				wake_up(&this_afe.lpass_core_hw_wait);
				break;
			case AFE_SVC_CMD_EVENT_CFG: