qcacld-3.0: Use separate request context for NAN and NDP

Currently single request context is used for NAN discovery and NDP.
If NAN disable request is sent to the FW and FW sends NDP end
indication and didn't send NAN disable indication. In this case,
wait event for NAN disable indication will be completed as part of
NDP end indication. This is because same request context is used for
both NAN discovery and NDP.

To resolve this, use separate request for NAN discovery and NDP.

Change-Id: Ic42e32c5cfd818188ca96d6cba3cbec1ed85a3ec
CRs-Fixed: 2921287
This commit is contained in:
Bapiraju Alla
2021-04-20 13:23:22 +05:30
committed by Madan Koyyalamudi
parent 5080bc8e7e
commit 9c501681db
3 changed files with 13 additions and 11 deletions

View File

@@ -461,14 +461,14 @@ QDF_STATUS ucfg_nan_req_processor(struct wlan_objmgr_vdev *vdev,
nan_err("Request allocation failure");
return QDF_STATUS_E_NOMEM;
}
psoc_obj->request_context = osif_request_cookie(request);
psoc_obj->ndp_request_ctx = osif_request_cookie(request);
nan_debug("Wait for NDP END indication");
err = osif_request_wait_for_response(request);
if (err)
nan_debug("NAN request timed out: %d", err);
osif_request_put(request);
psoc_obj->request_context = NULL;
psoc_obj->ndp_request_ctx = NULL;
}
return QDF_STATUS_SUCCESS;
@@ -760,7 +760,7 @@ QDF_STATUS ucfg_nan_discovery_req(void *in_req, uint32_t req_type)
return QDF_STATUS_E_NOMEM;
}
psoc_priv->request_context = osif_request_cookie(request);
psoc_priv->nan_disc_request_ctx = osif_request_cookie(request);
if (req_type == NAN_DISABLE_REQ)
psoc_priv->is_explicit_disable = true;