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

Commit 59ec406f authored by Anurag Chouhan's avatar Anurag Chouhan Committed by Sameer Thalappil
Browse files

icnss: Add support to validate the result and error code



Add support to validate the result and error code
received from the WLAN firmware service.

CRs-fixed: 2095184
Change-Id: I454df58e293fbf2d99601d1c6820e67b5cae370c
Signed-off-by: default avatarAnurag Chouhan <achouhan@codeaurora.org>
parent b0f7b114
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -39,8 +39,10 @@ module_param(qmi_timeout, ulong, 0600);
#else
#define WLFW_TIMEOUT_MS			10000
#endif

#define WLFW_SERVICE_INS_ID_V01		0
#define WLFW_CLIENT_ID			0x4b4e454c
#define QMI_ERR_PLAT_CCPM_CLK_INIT_FAILED	0x77

#ifdef CONFIG_ICNSS_DEBUG
bool ignore_fw_timeout;
@@ -137,7 +139,7 @@ int wlfw_msa_mem_info_send_sync_msg(struct icnss_priv *priv)
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI MSA Mem info request rejected, result:%d error:%d\n",
			resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}

@@ -210,7 +212,7 @@ int wlfw_msa_ready_send_sync_msg(struct icnss_priv *priv)
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI MSA ready request rejected: result:%d error:%d\n",
			resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
	priv->stats.msa_ready_resp++;
@@ -275,7 +277,7 @@ int wlfw_ind_register_send_sync_msg(struct icnss_priv *priv)
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI indication register request rejected, resut:%d error:%d\n",
		       resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
	priv->stats.ind_register_resp++;
@@ -322,7 +324,9 @@ int wlfw_cap_send_sync_msg(struct icnss_priv *priv)
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI capability request rejected, result:%d error:%d\n",
		       resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		if (resp.resp.error == QMI_ERR_PLAT_CCPM_CLK_INIT_FAILED)
			icnss_pr_err("RF card Not present");
		goto out;
	}

@@ -413,7 +417,7 @@ int wlfw_wlan_mode_send_sync_msg(struct icnss_priv *priv,
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI mode request rejected, mode:%d result:%d error:%d\n",
			     mode, resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
	priv->stats.mode_resp++;
@@ -464,7 +468,7 @@ int wlfw_wlan_cfg_send_sync_msg(struct icnss_priv *priv,
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI config request rejected, result:%d error:%d\n",
		       resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
	priv->stats.cfg_resp++;
@@ -517,7 +521,7 @@ int wlfw_ini_send_sync_msg(struct icnss_priv *priv, uint8_t fw_log_mode)
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI INI request rejected, fw_log_mode:%d result:%d error:%d\n",
			     fw_log_mode, resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
	priv->stats.ini_resp++;
@@ -577,7 +581,7 @@ int wlfw_athdiag_read_send_sync_msg(struct icnss_priv *priv,
	if (resp->resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI athdiag read request rejected, result:%d error:%d\n",
			     resp->resp.result, resp->resp.error);
		ret = resp->resp.result;
		ret = -resp->resp.result;
		goto out;
	}

@@ -643,7 +647,7 @@ int wlfw_athdiag_write_send_sync_msg(struct icnss_priv *priv,
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI athdiag write request rejected, result:%d error:%d\n",
			     resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
out:
@@ -739,7 +743,7 @@ int wlfw_rejuvenate_ack_send_sync_msg(struct icnss_priv *priv)
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI rejuvenate ack request rejected, result:%d error %d\n",
			     resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}
	priv->stats.rejuvenate_ack_resp++;
@@ -800,7 +804,7 @@ int wlfw_dynamic_feature_mask_send_sync_msg(struct icnss_priv *priv,
	if (resp.resp.result != QMI_RESULT_SUCCESS_V01) {
		icnss_pr_err("QMI dynamic feature mask request rejected, result:%d error %d\n",
			     resp.resp.result, resp.resp.error);
		ret = resp.resp.result;
		ret = -resp.resp.result;
		goto out;
	}