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
这个提交包含在:
Vijay Pamidipati
2017-01-17 12:53:05 +05:30
提交者 qcabuildsw
父节点 c5a97bae86
当前提交 add0ba7846
修改 3 个文件,包含 22 行新增0 行删除

查看文件

@@ -1375,7 +1375,12 @@ QDF_STATUS wmi_extract_reg_cap_service_ready_ext(
void *wmi_hdl,
uint8_t *evt_buf, uint8_t phy_idx,
struct WMI_HOST_HAL_REG_CAPABILITIES_EXT *param);
QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl,
uint8_t *evt_buf,
struct wmi_host_pdev_utf_event *param);
QDF_STATUS wmi_extract_peer_delete_response_event(void *wmi_hdl,
uint8_t *evt_buf,
struct wmi_host_peer_delete_response_event *param);
#endif /* _WMI_UNIFIED_API_H_ */

查看文件

@@ -4947,6 +4947,7 @@ typedef enum {
wmi_peer_gid_userpos_list_event_id,
wmi_pdev_check_cal_version_event_id,
wmi_atf_peer_stats_event_id,
wmi_peer_delete_response_event_id,
wmi_events_max,
} wmi_conv_event_id;
@@ -7201,6 +7202,17 @@ struct wmi_host_pdev_utf_event {
uint16_t datalen;
};
/**
* struct wmi_host_peer_delete_response_event - Peer Delete response event param
* @vdev_id: vdev id
* @mac_address: Peer Mac Address
*
*/
struct wmi_host_peer_delete_response_event {
uint32_t vdev_id;
struct qdf_mac_addr mac_address;
};
/**
* @struct wmi_host_dcs_interference_param
* @interference_type: Type of DCS Interference

查看文件

@@ -1217,6 +1217,11 @@ QDF_STATUS (*extract_pdev_utf_event)(wmi_unified_t wmi_hdl,
uint16_t (*wmi_set_htc_tx_tag)(wmi_unified_t wmi_handle,
wmi_buf_t buf, uint32_t cmd_id);
QDF_STATUS (*extract_peer_delete_response_event)(
wmi_unified_t wmi_handle,
void *evt_buf,
struct wmi_host_peer_delete_response_event *param);
};
struct target_abi_version {