summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNachiket Kukade <nkukade@codeaurora.org>2017-09-06 16:49:29 +0530
committersnandini <snandini@codeaurora.org>2017-09-13 11:25:52 -0700
commit333be2394518489d806d201138497d2b08333cc1 (patch)
treeb3afe0b067673c30d8b43c3b0e12be5c3805fc2f
parent4c49348479b0b64f6ac869816f801cf402ae9d46 (diff)
qcacld-3.0: Let probe fail gracefully after htc_wait_target returns NOMEM
During probe if htc_wait_target fails with any error status, driver will BUG_ON except when the FW_DOWN bit is set. This is to let probe fail gracefully in case of recoverable errors and BUG_ON for fatal errors. So driver will BUG_ON for NOMEM errors as well, even though recovery is possible in this case with a driver load retry. Do not BUG_ON in case of error status is NOMEM or FW_DOWN is set. Change-Id: I0e7cbd4db8263765f0d97709ec30de6aefb6fae5 CRs-Fixed: 2102844
-rw-r--r--core/cds/src/cds_api.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c
index a65d51141a95..7b5298bd92b3 100644
--- a/core/cds/src/cds_api.c
+++ b/core/cds/src/cds_api.c
@@ -462,11 +462,14 @@ QDF_STATUS cds_open(void)
"%s: HTCHandle is null!", __func__);
goto err_wma_close;
}
- if (htc_wait_target(HTCHandle)) {
+
+ qdf_status = htc_wait_target(HTCHandle);
+ if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
"%s: Failed to complete BMI phase", __func__);
- if (!cds_is_fw_down())
+ if (qdf_status != QDF_STATUS_E_NOMEM
+ && !cds_is_fw_down())
QDF_BUG(0);
goto err_wma_close;