qcacld-3.0: Remove cds_is_target_ready() to prevent race condition
Currently if target is not ready, vdev stop req use check cds_is_target_ready() in wma_fill_vdev_req(), while peer related API uses wmi_handle->wmi_stopinprogress. As wmi_handle->wmi_stopinprogress is set after target ready flag, the vdev stop req is dropped while peer delete is sent to firmware. This leads to bss peer delete sent without vdev stop. Remove cds_is_target_ready() in wma_fill_hold_req() and wma_fill_vdev_req() so that only wmi_handle->wmi_stopinprogress is used to detect firmware down. Change-Id: I5a7fb886f8bbf9a10d25c6991a291bc4bd2bef48 CRs-Fixed: 2309680
This commit is contained in:
@@ -3297,11 +3297,6 @@ struct wma_target_req *wma_fill_hold_req(tp_wma_handle wma,
|
||||
struct wma_target_req *req;
|
||||
QDF_STATUS status;
|
||||
|
||||
if (!cds_is_target_ready()) {
|
||||
WMA_LOGE("target not ready, drop the request");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
req = qdf_mem_malloc(sizeof(*req));
|
||||
if (!req) {
|
||||
WMA_LOGE(FL("Failed to allocate memory for msg %d vdev %d"),
|
||||
@@ -3637,11 +3632,6 @@ struct wma_target_req *wma_fill_vdev_req(tp_wma_handle wma,
|
||||
struct wma_target_req *req;
|
||||
QDF_STATUS status;
|
||||
|
||||
if (!cds_is_target_ready()) {
|
||||
WMA_LOGE("target not ready, drop the request");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
req = qdf_mem_malloc(sizeof(*req));
|
||||
if (!req) {
|
||||
WMA_LOGE("%s: Failed to allocate memory for msg %d vdev %d",
|
||||
|
Reference in New Issue
Block a user