Loading drivers/platform/msm/gsi/gsi.c +7 −1 Original line number Diff line number Diff line Loading @@ -2978,7 +2978,13 @@ int gsi_reset_channel(unsigned long chan_hdl) ctx = &gsi_ctx->chan[chan_hdl]; if (ctx->state != GSI_CHAN_STATE_STOPPED) { /* * In WDI3 case, if SAP enabled but no client connected, * GSI will be in allocated state. When SAP disabled, * gsi_reset_channel will be called and reset is needed. */ if (ctx->state != GSI_CHAN_STATE_STOPPED && ctx->state != GSI_CHAN_STATE_ALLOCATED) { GSIERR("bad state %d\n", ctx->state); return -GSI_STATUS_UNSUPPORTED_OP; } Loading drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c +10 −15 Original line number Diff line number Diff line Loading @@ -663,6 +663,11 @@ int ipa3_disconn_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx) ep_rx = &ipa3_ctx->ep[ipa_ep_idx_rx]; /* tear down tx pipe */ result = ipa3_reset_gsi_channel(ipa_ep_idx_tx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); return result; } result = gsi_reset_evt_ring(ep_tx->gsi_evt_ring_hdl); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset evt ring: %d.\n", result); Loading @@ -678,6 +683,11 @@ int ipa3_disconn_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx) IPADBG("tx client (ep: %d) disconnected\n", ipa_ep_idx_tx); /* tear down rx pipe */ result = ipa3_reset_gsi_channel(ipa_ep_idx_rx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); return result; } result = gsi_reset_evt_ring(ep_rx->gsi_evt_ring_hdl); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset evt ring: %d.\n", result); Loading Loading @@ -824,21 +834,6 @@ int ipa3_disable_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx) goto fail; } /* reset gsi rx channel */ result = ipa3_reset_gsi_channel(ipa_ep_idx_rx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); result = -EFAULT; goto fail; } /* reset gsi tx channel */ result = ipa3_reset_gsi_channel(ipa_ep_idx_tx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); result = -EFAULT; goto fail; } if (disable_force_clear) ipa3_disable_force_clear(ipa_ep_idx_rx); Loading Loading
drivers/platform/msm/gsi/gsi.c +7 −1 Original line number Diff line number Diff line Loading @@ -2978,7 +2978,13 @@ int gsi_reset_channel(unsigned long chan_hdl) ctx = &gsi_ctx->chan[chan_hdl]; if (ctx->state != GSI_CHAN_STATE_STOPPED) { /* * In WDI3 case, if SAP enabled but no client connected, * GSI will be in allocated state. When SAP disabled, * gsi_reset_channel will be called and reset is needed. */ if (ctx->state != GSI_CHAN_STATE_STOPPED && ctx->state != GSI_CHAN_STATE_ALLOCATED) { GSIERR("bad state %d\n", ctx->state); return -GSI_STATUS_UNSUPPORTED_OP; } Loading
drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c +10 −15 Original line number Diff line number Diff line Loading @@ -663,6 +663,11 @@ int ipa3_disconn_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx) ep_rx = &ipa3_ctx->ep[ipa_ep_idx_rx]; /* tear down tx pipe */ result = ipa3_reset_gsi_channel(ipa_ep_idx_tx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); return result; } result = gsi_reset_evt_ring(ep_tx->gsi_evt_ring_hdl); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset evt ring: %d.\n", result); Loading @@ -678,6 +683,11 @@ int ipa3_disconn_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx) IPADBG("tx client (ep: %d) disconnected\n", ipa_ep_idx_tx); /* tear down rx pipe */ result = ipa3_reset_gsi_channel(ipa_ep_idx_rx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); return result; } result = gsi_reset_evt_ring(ep_rx->gsi_evt_ring_hdl); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset evt ring: %d.\n", result); Loading Loading @@ -824,21 +834,6 @@ int ipa3_disable_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx) goto fail; } /* reset gsi rx channel */ result = ipa3_reset_gsi_channel(ipa_ep_idx_rx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); result = -EFAULT; goto fail; } /* reset gsi tx channel */ result = ipa3_reset_gsi_channel(ipa_ep_idx_tx); if (result != GSI_STATUS_SUCCESS) { IPAERR("failed to reset gsi channel: %d.\n", result); result = -EFAULT; goto fail; } if (disable_force_clear) ipa3_disable_force_clear(ipa_ep_idx_rx); Loading