Loading drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c +21 −5 Original line number Diff line number Diff line Loading @@ -475,6 +475,7 @@ static int ipa3_qmi_send_req_wait(struct qmi_handle *client_handle, return ret; } mutex_lock(&ipa3_qmi_lock); ret = qmi_send_request(client_handle, &ipa3_qmi_ctx->server_sq, &txn, Loading @@ -483,6 +484,10 @@ static int ipa3_qmi_send_req_wait(struct qmi_handle *client_handle, req_desc->ei_array, req); if (unlikely(!ipa_q6_clnt)) return -EINVAL; mutex_unlock(&ipa3_qmi_lock); if (ret < 0) { qmi_txn_cancel(&txn); return ret; Loading Loading @@ -1580,11 +1585,16 @@ static void ipa3_q6_clnt_svc_arrive(struct work_struct *work) IPAWANERR( "ipa3_qmi_init_modem_send_sync_msg failed due to SSR!\n"); /* Cleanup when ipa3_wwan_remove is called */ if (ipa_q6_clnt != NULL) { qmi_handle_release(ipa_q6_clnt); mutex_lock(&ipa3_qmi_lock); vfree(ipa_q6_clnt); ipa_q6_clnt = NULL; mutex_unlock(&ipa3_qmi_lock); return; } IPAWANERR("Exit from service arrive fun\n"); } if (rc != 0) { IPAWANERR("ipa3_qmi_init_modem_send_sync_msg failed\n"); Loading Loading @@ -1929,6 +1939,7 @@ void ipa3_qmi_service_exit(void) /* qmi-client */ /* Release client handle */ mutex_lock(&ipa3_qmi_lock); if (ipa_q6_clnt != NULL) { qmi_handle_release(ipa_q6_clnt); vfree(ipa_q6_clnt); Loading @@ -1940,7 +1951,6 @@ void ipa3_qmi_service_exit(void) } /* clean the QMI msg cache */ mutex_lock(&ipa3_qmi_lock); if (ipa3_qmi_ctx != NULL) { vfree(ipa3_qmi_ctx); ipa3_qmi_ctx = NULL; Loading Loading @@ -2262,6 +2272,8 @@ int ipa3_qmi_enable_per_client_stats( IPAWANDBG("Sending QMI_IPA_ENABLE_PER_CLIENT_STATS_REQ_V01\n"); if (unlikely(!ipa_q6_clnt)) return -ETIMEDOUT; rc = ipa3_qmi_send_req_wait(ipa_q6_clnt, &req_desc, req, &resp_desc, resp, Loading Loading @@ -2299,6 +2311,8 @@ int ipa3_qmi_get_per_client_packet_stats( IPAWANDBG("Sending QMI_IPA_GET_STATS_PER_CLIENT_REQ_V01\n"); if (unlikely(!ipa_q6_clnt)) return -ETIMEDOUT; rc = ipa3_qmi_send_req_wait(ipa_q6_clnt, &req_desc, req, &resp_desc, resp, Loading Loading @@ -2356,6 +2370,8 @@ int ipa3_qmi_send_mhi_cleanup_request(struct ipa_mhi_cleanup_req_msg_v01 *req) resp_desc.msg_id = QMI_IPA_MHI_CLEANUP_RESP_V01; resp_desc.ei_array = ipa_mhi_cleanup_resp_msg_v01_ei; if (unlikely(!ipa_q6_clnt)) return -ETIMEDOUT; rc = ipa3_qmi_send_req_wait(ipa_q6_clnt, &req_desc, req, &resp_desc, &resp, Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c +21 −5 Original line number Diff line number Diff line Loading @@ -475,6 +475,7 @@ static int ipa3_qmi_send_req_wait(struct qmi_handle *client_handle, return ret; } mutex_lock(&ipa3_qmi_lock); ret = qmi_send_request(client_handle, &ipa3_qmi_ctx->server_sq, &txn, Loading @@ -483,6 +484,10 @@ static int ipa3_qmi_send_req_wait(struct qmi_handle *client_handle, req_desc->ei_array, req); if (unlikely(!ipa_q6_clnt)) return -EINVAL; mutex_unlock(&ipa3_qmi_lock); if (ret < 0) { qmi_txn_cancel(&txn); return ret; Loading Loading @@ -1580,11 +1585,16 @@ static void ipa3_q6_clnt_svc_arrive(struct work_struct *work) IPAWANERR( "ipa3_qmi_init_modem_send_sync_msg failed due to SSR!\n"); /* Cleanup when ipa3_wwan_remove is called */ if (ipa_q6_clnt != NULL) { qmi_handle_release(ipa_q6_clnt); mutex_lock(&ipa3_qmi_lock); vfree(ipa_q6_clnt); ipa_q6_clnt = NULL; mutex_unlock(&ipa3_qmi_lock); return; } IPAWANERR("Exit from service arrive fun\n"); } if (rc != 0) { IPAWANERR("ipa3_qmi_init_modem_send_sync_msg failed\n"); Loading Loading @@ -1929,6 +1939,7 @@ void ipa3_qmi_service_exit(void) /* qmi-client */ /* Release client handle */ mutex_lock(&ipa3_qmi_lock); if (ipa_q6_clnt != NULL) { qmi_handle_release(ipa_q6_clnt); vfree(ipa_q6_clnt); Loading @@ -1940,7 +1951,6 @@ void ipa3_qmi_service_exit(void) } /* clean the QMI msg cache */ mutex_lock(&ipa3_qmi_lock); if (ipa3_qmi_ctx != NULL) { vfree(ipa3_qmi_ctx); ipa3_qmi_ctx = NULL; Loading Loading @@ -2262,6 +2272,8 @@ int ipa3_qmi_enable_per_client_stats( IPAWANDBG("Sending QMI_IPA_ENABLE_PER_CLIENT_STATS_REQ_V01\n"); if (unlikely(!ipa_q6_clnt)) return -ETIMEDOUT; rc = ipa3_qmi_send_req_wait(ipa_q6_clnt, &req_desc, req, &resp_desc, resp, Loading Loading @@ -2299,6 +2311,8 @@ int ipa3_qmi_get_per_client_packet_stats( IPAWANDBG("Sending QMI_IPA_GET_STATS_PER_CLIENT_REQ_V01\n"); if (unlikely(!ipa_q6_clnt)) return -ETIMEDOUT; rc = ipa3_qmi_send_req_wait(ipa_q6_clnt, &req_desc, req, &resp_desc, resp, Loading Loading @@ -2356,6 +2370,8 @@ int ipa3_qmi_send_mhi_cleanup_request(struct ipa_mhi_cleanup_req_msg_v01 *req) resp_desc.msg_id = QMI_IPA_MHI_CLEANUP_RESP_V01; resp_desc.ei_array = ipa_mhi_cleanup_resp_msg_v01_ei; if (unlikely(!ipa_q6_clnt)) return -ETIMEDOUT; rc = ipa3_qmi_send_req_wait(ipa_q6_clnt, &req_desc, req, &resp_desc, &resp, Loading