|
@@ -5966,6 +5966,7 @@ static void __hdd_set_multicast_list(struct net_device *dev)
|
|
|
if (!mc_list_request)
|
|
|
return;
|
|
|
|
|
|
+ qdf_spin_lock_bh(&adapter->mc_list_lock);
|
|
|
/* Delete already configured multicast address list */
|
|
|
if (adapter->mc_addr_list.mc_cnt > 0)
|
|
|
hdd_disable_and_flush_mc_addr_list(adapter,
|
|
@@ -6018,6 +6019,7 @@ static void __hdd_set_multicast_list(struct net_device *dev)
|
|
|
hdd_enable_mc_addr_filtering(adapter, pmo_mc_list_change_notify);
|
|
|
|
|
|
free_req:
|
|
|
+ qdf_spin_unlock_bh(&adapter->mc_list_lock);
|
|
|
qdf_mem_free(mc_list_request);
|
|
|
}
|
|
|
|
|
@@ -7458,6 +7460,7 @@ static void hdd_cleanup_adapter(struct hdd_context *hdd_ctx,
|
|
|
}
|
|
|
|
|
|
hdd_apf_context_destroy(adapter);
|
|
|
+ qdf_spinlock_destroy(&adapter->mc_list_lock);
|
|
|
hdd_adapter_for_each_link_entry(adapter, link_idx) {
|
|
|
link_info = hdd_adapter_get_link_info_ptr(adapter, link_idx);
|
|
|
if (!link_info)
|
|
@@ -8270,6 +8273,7 @@ struct hdd_adapter *hdd_open_adapter(struct hdd_context *hdd_ctx,
|
|
|
qdf_list_create(&adapter->blocked_scan_request_q, WLAN_MAX_SCAN_COUNT);
|
|
|
qdf_mutex_create(&adapter->blocked_scan_request_q_lock);
|
|
|
qdf_event_create(&adapter->deflink->acs_complete_event);
|
|
|
+ qdf_spinlock_create(&adapter->mc_list_lock);
|
|
|
qdf_event_create(&adapter->peer_cleanup_done);
|
|
|
hdd_sta_info_init(&adapter->sta_info_list);
|
|
|
hdd_sta_info_init(&adapter->cache_sta_info_list);
|