|
@@ -2308,6 +2308,11 @@ void hdd_ndi_drv_ndi_create_rsp_handler(uint8_t vdev_id,
|
|
|
hdd_roam_register_sta(adapter, &roam_info,
|
|
|
sta_ctx->broadcast_staid,
|
|
|
&bc_mac_addr, &tmp_bss_descp);
|
|
|
+ if (hdd_objmgr_add_peer_object(adapter->hdd_vdev,
|
|
|
+ QDF_NDI_MODE, bc_mac_addr.bytes, false))
|
|
|
+ hdd_err("Peer object "MAC_ADDRESS_STR" add fails!",
|
|
|
+ MAC_ADDR_ARRAY(bc_mac_addr.bytes));
|
|
|
+
|
|
|
hdd_ctx->sta_to_adapter[sta_ctx->broadcast_staid] = adapter;
|
|
|
}
|
|
|
|
|
@@ -2323,6 +2328,12 @@ void hdd_ndi_drv_ndi_delete_rsp_handler(uint8_t vdev_id)
|
|
|
{
|
|
|
struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
|
|
struct hdd_adapter *adapter = hdd_get_adapter_by_vdev(hdd_ctx, vdev_id);
|
|
|
+ struct hdd_station_ctx *sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
|
|
+
|
|
|
+ hdd_ctx->sta_to_adapter[sta_ctx->broadcast_staid] = NULL;
|
|
|
+ hdd_roam_deregister_sta(adapter, sta_ctx->broadcast_staid);
|
|
|
+ hdd_delete_peer(sta_ctx, sta_ctx->broadcast_staid);
|
|
|
+ sta_ctx->broadcast_staid = HDD_WLAN_INVALID_STA_ID;
|
|
|
|
|
|
wlan_hdd_netif_queue_control(adapter,
|
|
|
WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER,
|
|
@@ -2371,6 +2382,10 @@ int hdd_ndp_new_peer_handler(uint8_t vdev_id, uint16_t sta_id,
|
|
|
/* this function is called for each new peer */
|
|
|
hdd_roam_register_sta(adapter, &roam_info, sta_id,
|
|
|
peer_mac_addr, &tmp_bss_descp);
|
|
|
+ if (hdd_objmgr_add_peer_object(adapter->hdd_vdev,
|
|
|
+ QDF_NDI_MODE, peer_mac_addr->bytes, false))
|
|
|
+ hdd_err("Peer object "MAC_ADDRESS_STR" add fails!",
|
|
|
+ MAC_ADDR_ARRAY(peer_mac_addr->bytes));
|
|
|
hdd_ctx->sta_to_adapter[sta_id] = adapter;
|
|
|
/* perform following steps for first new peer ind */
|
|
|
if (fist_peer) {
|