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

Commit 99b603aa authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: add retry to channel stop" into msm-4.9

parents 7655e91d cfc077d3
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -4242,11 +4242,6 @@ int ipa3_stop_gsi_channel(u32 clnt_hdl)

	memset(&mem, 0, sizeof(mem));

	if (IPA_CLIENT_IS_PROD(ep->client)) {
		res = gsi_stop_channel(ep->gsi_chan_hdl);
		goto end_sequence;
	}

	for (i = 0; i < IPA_GSI_CHANNEL_STOP_MAX_RETRY; i++) {
		IPADBG("Calling gsi_stop_channel\n");
		res = gsi_stop_channel(ep->gsi_chan_hdl);
@@ -4254,13 +4249,15 @@ int ipa3_stop_gsi_channel(u32 clnt_hdl)
		if (res != -GSI_STATUS_AGAIN && res != -GSI_STATUS_TIMED_OUT)
			goto end_sequence;

		IPADBG("Inject a DMA_TASK with 1B packet to IPA and retry\n");
		if (IPA_CLIENT_IS_CONS(ep->client)) {
			IPADBG("Inject a DMA_TASK with 1B packet to IPA\n");
			/* Send a 1B packet DMA_TASK to IPA and try again */
			res = ipa3_inject_dma_task_for_gsi();
			if (res) {
				IPAERR("Failed to inject DMA TASk for GSI\n");
				goto end_sequence;
			}
		}

		/* sleep for short period to flush IPA */
		usleep_range(IPA_GSI_CHANNEL_STOP_SLEEP_MIN_USEC,