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

Commit d7d254c8 authored by Bhalchandra Gajare's avatar Bhalchandra Gajare Committed by Gerrit - the friendly Code Review server
Browse files

ASoc: wcd934x-dsp-cntl: notify online event after clocks are disabled



The moment the online event is notified to userspace, it may happen that
the userspace might enable the WDSP. This causes race between the
enabling of WDSP and SSR handling of WDSP. Change the sequence to notify
online event after all SSR handling is completed.

Change-Id: I3cb5d40034884cdfc35de957fab4dafd42d0697c
Signed-off-by: default avatarBhalchandra Gajare <gajare@codeaurora.org>
parent db4d5501
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -763,10 +763,6 @@ static int wcd_control_handler(struct device *dev, void *priv_data,
	case WDSP_EVENT_DLOAD_FAILED:
	case WDSP_EVENT_POST_SHUTDOWN:

		if (event == WDSP_EVENT_POST_DLOAD_CODE)
			/* Mark DSP online since code download is complete */
			wcd_cntl_change_online_state(cntl, 1);

		/* Disable CPAR */
		wcd_cntl_cpar_ctrl(cntl, false);
		/* Disable all the clocks */
@@ -775,6 +771,11 @@ static int wcd_control_handler(struct device *dev, void *priv_data,
			dev_err(codec->dev,
				"%s: Failed to disable clocks, err = %d\n",
				__func__, ret);

		if (event == WDSP_EVENT_POST_DLOAD_CODE)
			/* Mark DSP online since code download is complete */
			wcd_cntl_change_online_state(cntl, 1);

		break;

	case WDSP_EVENT_PRE_DLOAD_DATA: