Browse Source

qcacld-3.0: Do not update beacon before channel switch on STA

Kernel maintains bss with old channel, if inform beacon before
channel switching, kernel will create new bss. And kernel will
unlink the “new” bss when process channel switch event, that could
being used by other component. Driver can avoid “new” bss creation
by removing the wlan_hdd_cfg80211_update_bss_db call before
indication the channel switch to kernel.
The kernel bss updating will happen in following beacon rx from
ap.

Change-Id: I4f1405cd3c8533bafcbd2fc0a290864cddd1e634
CRs-Fixed: 2868341
Liangwei Dong 4 years ago
parent
commit
785fe4abe2
1 changed files with 0 additions and 9 deletions
  1. 0 9
      core/hdd/src/wlan_hdd_assoc.c

+ 0 - 9
core/hdd/src/wlan_hdd_assoc.c

@@ -4022,10 +4022,6 @@ static void hdd_roam_channel_switch_handler(struct hdd_adapter *adapter,
 					    struct csr_roam_info *roam_info)
 {
 	struct hdd_chan_change_params chan_change;
-	struct cfg80211_bss *bss;
-	struct net_device *dev = adapter->dev;
-	struct wireless_dev *wdev = dev->ieee80211_ptr;
-	struct wiphy *wiphy = wdev->wiphy;
 	QDF_STATUS status;
 	struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
 	mac_handle_t mac_handle = hdd_adapter_get_mac_handle(adapter);
@@ -4055,11 +4051,6 @@ static void hdd_roam_channel_switch_handler(struct hdd_adapter *adapter,
 	chan_change.chan_params.mhz_freq_seg1 =
 		roam_info->chan_info.band_center_freq2;
 
-	bss = wlan_hdd_cfg80211_update_bss_db(adapter, roam_info);
-	if (!bss)
-		hdd_err("%s: unable to create BSS entry", adapter->dev->name);
-	else
-		cfg80211_put_bss(wiphy, bss);
 	if ((adapter->device_mode == QDF_STA_MODE ||
 	     adapter->device_mode == QDF_P2P_CLIENT_MODE)) {
 		if (!wlan_get_connected_vdev_by_bssid(