diff options
| author | Nachiket Kukade <nkukade@codeaurora.org> | 2017-09-06 16:49:29 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-09-13 11:25:52 -0700 |
| commit | 333be2394518489d806d201138497d2b08333cc1 (patch) | |
| tree | b3afe0b067673c30d8b43c3b0e12be5c3805fc2f | |
| parent | 4c49348479b0b64f6ac869816f801cf402ae9d46 (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.c | 7 |
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; |
