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

Commit 8e52def2 authored by Michael Adisumarta's avatar Michael Adisumarta
Browse files

msm:ipa: stop UL IPA TX channel at the end of the probe



Stop UL MHIP IPA TX channel at end of the probe
if there is no active tethering. This will make sure no Uplink data is
sent when Device side is not prepared to take data.

Change-Id: Id37c0c7eb8270bdf4806265c75780951ae7394c3
Signed-off-by: default avatarMichael Adisumarta <madisuma@codeaurora.org>
parent 1ca4c673
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -2187,12 +2187,20 @@ static int ipa_mpm_mhi_probe_cb(struct mhi_device *mhi_dev,
	case IPA_MPM_TETH_INIT:
		if (ul_prod != IPA_CLIENT_MAX) {
			/* No teth started yet, disable UL channel */
			ipa_ep_idx = ipa3_get_ep_mapping(ul_prod);
			if (ipa_ep_idx == IPA_EP_NOT_ALLOCATED) {
				IPA_MPM_ERR("fail to alloc EP.\n");
				goto fail_stop_channel;
			}
			ret = ipa3_stop_gsi_channel(ipa_ep_idx);
			if (ret) {
				IPA_MPM_ERR("MHIP Stop channel err = %d\n",
					ret);
				goto fail_stop_channel;
			}
			ipa_mpm_change_gsi_state(probe_id,
				IPA_MPM_MHIP_CHAN_UL,
				GSI_STOPPED);
		}
		if (is_acted)
			ipa_mpm_vote_unvote_pcie_clk(CLK_OFF, probe_id,
@@ -2203,7 +2211,6 @@ static int ipa_mpm_mhi_probe_cb(struct mhi_device *mhi_dev,
		IPA_MPM_DBG("UL channel is already started, continue\n");
		ipa_mpm_change_teth_state(probe_id, IPA_MPM_TETH_CONNECTED);


		if (probe_id == IPA_MPM_MHIP_CH_ID_1) {
			/* Lift the delay for rmnet USB prod pipe */
			pipe_idx = ipa3_get_ep_mapping(IPA_CLIENT_USB_PROD);