qcacld-3.0: Do not set the broadcast sta id to invalid
Currently, as part of ndi_delete broadcast sta id is set to invalid. But set this sta id to invalid as part of ndi delete response from FW. Change-Id: I4df843c4bce1c06b5c62cfd932b681e3320e5341 CRs-Fixed: 2513607
This commit is contained in:
@@ -2087,7 +2087,12 @@ QDF_STATUS hdd_roam_register_sta(struct hdd_adapter *adapter,
|
|||||||
|
|
||||||
/* Get the Station ID from the one saved during the association */
|
/* Get the Station ID from the one saved during the association */
|
||||||
txrx_desc.sta_id = sta_id;
|
txrx_desc.sta_id = sta_id;
|
||||||
WLAN_ADDR_COPY(txrx_desc.peer_addr.bytes, roam_info->bssid.bytes);
|
if (!QDF_IS_ADDR_BROADCAST(roam_info->bssid.bytes))
|
||||||
|
WLAN_ADDR_COPY(txrx_desc.peer_addr.bytes,
|
||||||
|
roam_info->bssid.bytes);
|
||||||
|
else
|
||||||
|
WLAN_ADDR_COPY(txrx_desc.peer_addr.bytes,
|
||||||
|
adapter->mac_addr.bytes);
|
||||||
|
|
||||||
/* set the QoS field appropriately */
|
/* set the QoS field appropriately */
|
||||||
if (hdd_wmm_is_active(adapter))
|
if (hdd_wmm_is_active(adapter))
|
||||||
|
@@ -653,9 +653,6 @@ int hdd_ndi_delete(uint8_t vdev_id, char *iface_name, uint16_t transaction_id)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Since, the interface is being deleted, remove the broadcast id. */
|
|
||||||
sta_ctx->broadcast_sta_id = HDD_WLAN_INVALID_STA_ID;
|
|
||||||
|
|
||||||
os_if_nan_set_ndp_delete_transaction_id(adapter->vdev,
|
os_if_nan_set_ndp_delete_transaction_id(adapter->vdev,
|
||||||
transaction_id);
|
transaction_id);
|
||||||
os_if_nan_set_ndi_state(adapter->vdev, NAN_DATA_NDI_DELETING_STATE);
|
os_if_nan_set_ndi_state(adapter->vdev, NAN_DATA_NDI_DELETING_STATE);
|
||||||
@@ -724,6 +721,7 @@ void hdd_ndi_drv_ndi_create_rsp_handler(uint8_t vdev_id,
|
|||||||
|
|
||||||
sta_ctx->broadcast_sta_id = sta_id;
|
sta_ctx->broadcast_sta_id = sta_id;
|
||||||
hdd_save_peer(sta_ctx, sta_id, &bc_mac_addr);
|
hdd_save_peer(sta_ctx, sta_id, &bc_mac_addr);
|
||||||
|
qdf_copy_macaddr(&roam_info->bssid, &bc_mac_addr);
|
||||||
hdd_roam_register_sta(adapter, roam_info, sta_id, &tmp_bss_descp);
|
hdd_roam_register_sta(adapter, roam_info, sta_id, &tmp_bss_descp);
|
||||||
|
|
||||||
qdf_mem_free(roam_info);
|
qdf_mem_free(roam_info);
|
||||||
@@ -776,7 +774,7 @@ void hdd_ndi_drv_ndi_delete_rsp_handler(uint8_t vdev_id)
|
|||||||
|
|
||||||
sta_id = sta_ctx->broadcast_sta_id;
|
sta_id = sta_ctx->broadcast_sta_id;
|
||||||
if (sta_id < HDD_MAX_ADAPTERS) {
|
if (sta_id < HDD_MAX_ADAPTERS) {
|
||||||
hdd_roam_deregister_sta(adapter, sta_ctx->requested_bssid);
|
hdd_roam_deregister_sta(adapter, adapter->mac_addr);
|
||||||
hdd_delete_peer(sta_ctx, sta_id);
|
hdd_delete_peer(sta_ctx, sta_id);
|
||||||
sta_ctx->broadcast_sta_id = HDD_WLAN_INVALID_STA_ID;
|
sta_ctx->broadcast_sta_id = HDD_WLAN_INVALID_STA_ID;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user