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

Commit 2ef150e1 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa3: Cleanup MHIP Dl rules on IPACM restart"

parents b27b221e 156d10e5
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -260,6 +260,24 @@ static int ipa3_clean_modem_rule(void)
	return val;
}

static int ipa3_clean_mhip_dl_rule(void)
{
	struct ipa_remove_offload_connection_req_msg_v01 req;

	memset(&req, 0, sizeof(struct
		ipa_remove_offload_connection_req_msg_v01));

	req.clean_all_rules_valid = true;
	req.clean_all_rules = true;

	if (ipa3_qmi_rmv_offload_request_send(&req)) {
		IPAWANDBG("clean dl rule cache failed\n");
		return -EFAULT;
	}

	return 0;
}

static int ipa3_active_clients_panic_notifier(struct notifier_block *this,
		unsigned long event, void *ptr)
{
@@ -2553,6 +2571,9 @@ static long ipa3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
		memset(&nat_del, 0, sizeof(nat_del));
		nat_del.table_index = 0;
		retval = ipa3_nat_del_cmd(&nat_del);
		if (ipa3_ctx->platform_type == IPA_PLAT_TYPE_APQ)
			retval = ipa3_clean_mhip_dl_rule();
		else
			retval = ipa3_clean_modem_rule();
		ipa3_counter_id_remove_all();
		break;
+9 −0
Original line number Diff line number Diff line
@@ -1077,6 +1077,15 @@ int ipa3_qmi_rmv_offload_request_send(
	req_desc.msg_id = QMI_IPA_REMOVE_OFFLOAD_CONNECTION_REQ_V01;
	req_desc.ei_array = ipa_remove_offload_connection_req_msg_v01_ei;

	/* clean the Dl rules  in the cache if flag is set */
	if (req->clean_all_rules) {
		for (i = 0; i < QMI_IPA_MAX_FILTERS_V01; i++)
			if (ipa3_qmi_ctx->ipa_offload_cache[i].valid)
				ipa3_qmi_ctx->ipa_offload_cache[i].valid =
				false;
	}


	memset(&resp, 0, sizeof(struct
		ipa_remove_offload_connection_resp_msg_v01));
	resp_desc.max_msg_len =