diff options
| -rw-r--r-- | drivers/soc/qcom/icnss.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/drivers/soc/qcom/icnss.c b/drivers/soc/qcom/icnss.c index 39e76072f596..7f2e4cc42e51 100644 --- a/drivers/soc/qcom/icnss.c +++ b/drivers/soc/qcom/icnss.c @@ -152,6 +152,8 @@ bool ignore_qmi_timeout; #define ICNSS_QMI_ASSERT() do { } while (0) #endif +#define QMI_ERR_PLAT_CCPM_CLK_INIT_FAILED 0x77 + enum icnss_debug_quirks { HW_ALWAYS_ON, HW_DEBUG_ENABLE, @@ -733,7 +735,7 @@ static int wlfw_vbatt_send_sync_msg(struct icnss_priv *priv, if (resp.resp.result != QMI_RESULT_SUCCESS_V01) { icnss_pr_err("QMI vbatt 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.vbatt_resp++; @@ -1217,7 +1219,7 @@ static int wlfw_msa_mem_info_send_sync_msg(void) 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; } @@ -1289,7 +1291,7 @@ static int wlfw_msa_ready_send_sync_msg(void) 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; } penv->stats.msa_ready_resp++; @@ -1352,7 +1354,7 @@ static int wlfw_ind_register_send_sync_msg(void) 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; } penv->stats.ind_register_resp++; @@ -1399,7 +1401,9 @@ static int wlfw_cap_send_sync_msg(void) 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; } @@ -1482,7 +1486,7 @@ static int wlfw_wlan_mode_send_sync_msg(enum wlfw_driver_mode_enum_v01 mode) 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; } penv->stats.mode_resp++; @@ -1532,7 +1536,7 @@ static int wlfw_wlan_cfg_send_sync_msg(struct wlfw_wlan_cfg_req_msg_v01 *data) 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; } penv->stats.cfg_resp++; @@ -1585,7 +1589,7 @@ static int wlfw_ini_send_sync_msg(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; } penv->stats.ini_resp++; @@ -1645,7 +1649,7 @@ static 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; } @@ -1711,7 +1715,7 @@ static 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: @@ -1806,7 +1810,7 @@ static 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++; @@ -1867,7 +1871,7 @@ static 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; } |
