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

Commit 3c6c2fbb authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: enable holb on cons resource fail"

parents b3bed39d cfe85a60
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -2916,12 +2916,27 @@ void ipa_suspend_handler(enum ipa_irq_type interrupt,
		((struct ipa_tx_suspend_irq_data *)interrupt_data)->endpoints;
	u32 bmsk = 1;
	u32 i = 0;
	int res;
	struct ipa_ep_cfg_holb holb_cfg;

	IPADBG("interrupt=%d, interrupt_data=%u\n", interrupt, suspend_data);
	memset(&holb_cfg, 0, sizeof(holb_cfg));
	holb_cfg.tmr_val = 0;

	for (i = 0; i < ipa_ctx->ipa_num_pipes; i++) {
		if ((suspend_data & bmsk) && (ipa_ctx->ep[i].valid)) {
			resource = ipa_get_rm_resource_from_ep(i);
			ipa_rm_request_resource_with_timer(resource);
			res = ipa_rm_request_resource_with_timer(resource);
			if (res == EPERM &&
				IPA_CLIENT_IS_CONS(ipa_ctx->ep[i].client)) {
				holb_cfg.en = 1;
				res = ipa_cfg_ep_holb_by_client(
				   ipa_ctx->ep[i].client, &holb_cfg);
				if (res) {
					IPAERR("holb en fail,IPAHW stall\n");
					BUG();
				}
			}
		}
		bmsk = bmsk << 1;
	}
+7 −5
Original line number Diff line number Diff line
@@ -1238,11 +1238,13 @@ int ipa_teardown_sys_pipe(u32 clnt_hdl)
	if (IPA_CLIENT_IS_CONS(ep->client))
		ipa_cleanup_rx(ep->sys);

	if (!ep->skip_ep_cfg && IPA_CLIENT_IS_PROD(ep->client)) {
		if (ipa_ctx->modem_cfg_emb_pipe_flt &&
			ep->client == IPA_CLIENT_APPS_LAN_WAN_PROD)
			IPADBG("modem cfg emb pipe flt\n");
		else
			ipa_delete_dflt_flt_rules(clnt_hdl);
	}

	if (IPA_CLIENT_IS_WLAN_CONS(ep->client))
		atomic_dec(&ipa_ctx->wc_memb.active_clnt_cnt);