qcacmn: Synchronize VDEV_DELETE and VDEV_DOWN with peer delete response

Hold additional reference to BSS node during node allocation, and free
it in delete response. This ensures BSS Node Freed event is sent to MLME
only after receving peer delete response for BSS node.

Change-Id: I384eac54f437000a1c09eb53751ad8b8e26617ad
CRs-Fixed: 1112381
This commit is contained in:
Vijay Pamidipati
2017-01-17 12:53:05 +05:30
committed by qcabuildsw
parent f8a1708f41
commit d814b8dcd1
2 changed files with 60 additions and 0 deletions

View File

@@ -6506,6 +6506,7 @@ QDF_STATUS wmi_extract_mac_phy_cap_service_ready_ext(
return QDF_STATUS_E_FAILURE;
}
/**
* wmi_extract_reg_cap_service_ready_ext() -
* extract REG cap from service ready event
@@ -6553,3 +6554,27 @@ QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl,
return QDF_STATUS_E_FAILURE;
}
/**
* wmi_extract_peer_delete_response_event() -
* extract vdev id and peer mac addresse from peer delete response event
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param param: Pointer to hold evt buf
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
QDF_STATUS wmi_extract_peer_delete_response_event(
void *wmi_hdl,
uint8_t *evt_buf,
struct wmi_host_peer_delete_response_event *param)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->extract_peer_delete_response_event)
return wmi_handle->ops->extract_peer_delete_response_event(
wmi_handle,
evt_buf, param);
return QDF_STATUS_E_FAILURE;
}