qcacmn: Don't unlink connected bssid
In dual station case, wlan0 is connected to AP, wlan1 connects to the same ap and will get failed because two interfaces can not connect to same band (same ap). At present wlan1 will do unlink bss of ap after connect fail. This may corrupt the bss tree in kernel because the bss is still pointed by wlan0’s wdev -> current_bss. Fix by avoid the unlink bss if the bss is still connected in any interfaces. Change-Id: I27c76eca2d4f130addabbdc2600f6959d24c8511 CRs-Fixed: 2837496
This commit is contained in:
@@ -298,14 +298,17 @@ void wlan_cfg80211_inform_bss_frame(struct wlan_objmgr_pdev *pdev,
|
||||
/**
|
||||
* __wlan_cfg80211_unlink_bss_list() - flush bss from the kernel cache
|
||||
* @wiphy: wiphy
|
||||
* @pdev: pdev object
|
||||
* @bssid: bssid of the BSS to find
|
||||
* @ssid: ssid of the BSS to find
|
||||
* @ssid_len: ssid len of of the BSS to find
|
||||
*
|
||||
* Return: None
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
void __wlan_cfg80211_unlink_bss_list(struct wiphy *wiphy, uint8_t *bssid,
|
||||
uint8_t *ssid, uint8_t ssid_len);
|
||||
QDF_STATUS __wlan_cfg80211_unlink_bss_list(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
uint8_t *bssid, uint8_t *ssid,
|
||||
uint8_t ssid_len);
|
||||
|
||||
/**
|
||||
* wlan_cfg80211_get_bss() - Get the bss entry matching the chan, bssid and ssid
|
||||
|
Reference in New Issue
Block a user