|
@@ -243,21 +243,12 @@ void cfg80211_send_disassoc(struct net_device *dev, const u8 *buf, size_t len)
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(cfg80211_send_disassoc);
|
|
EXPORT_SYMBOL(cfg80211_send_disassoc);
|
|
|
|
|
|
-void cfg80211_send_auth_timeout(struct net_device *dev, const u8 *addr)
|
|
|
|
|
|
+static void __cfg80211_auth_remove(struct wireless_dev *wdev, const u8 *addr)
|
|
{
|
|
{
|
|
- struct wireless_dev *wdev = dev->ieee80211_ptr;
|
|
|
|
- struct wiphy *wiphy = wdev->wiphy;
|
|
|
|
- struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
|
|
|
int i;
|
|
int i;
|
|
bool done = false;
|
|
bool done = false;
|
|
|
|
|
|
- wdev_lock(wdev);
|
|
|
|
-
|
|
|
|
- nl80211_send_auth_timeout(rdev, dev, addr, GFP_KERNEL);
|
|
|
|
- if (wdev->sme_state == CFG80211_SME_CONNECTING)
|
|
|
|
- __cfg80211_connect_result(dev, addr, NULL, 0, NULL, 0,
|
|
|
|
- WLAN_STATUS_UNSPECIFIED_FAILURE,
|
|
|
|
- false, NULL);
|
|
|
|
|
|
+ ASSERT_WDEV_LOCK(wdev);
|
|
|
|
|
|
for (i = 0; addr && i < MAX_AUTH_BSSES; i++) {
|
|
for (i = 0; addr && i < MAX_AUTH_BSSES; i++) {
|
|
if (wdev->authtry_bsses[i] &&
|
|
if (wdev->authtry_bsses[i] &&
|
|
@@ -272,6 +263,29 @@ void cfg80211_send_auth_timeout(struct net_device *dev, const u8 *addr)
|
|
}
|
|
}
|
|
|
|
|
|
WARN_ON(!done);
|
|
WARN_ON(!done);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __cfg80211_auth_canceled(struct net_device *dev, const u8 *addr)
|
|
|
|
+{
|
|
|
|
+ __cfg80211_auth_remove(dev->ieee80211_ptr, addr);
|
|
|
|
+}
|
|
|
|
+EXPORT_SYMBOL(__cfg80211_auth_canceled);
|
|
|
|
+
|
|
|
|
+void cfg80211_send_auth_timeout(struct net_device *dev, const u8 *addr)
|
|
|
|
+{
|
|
|
|
+ struct wireless_dev *wdev = dev->ieee80211_ptr;
|
|
|
|
+ struct wiphy *wiphy = wdev->wiphy;
|
|
|
|
+ struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
|
|
|
+
|
|
|
|
+ wdev_lock(wdev);
|
|
|
|
+
|
|
|
|
+ nl80211_send_auth_timeout(rdev, dev, addr, GFP_KERNEL);
|
|
|
|
+ if (wdev->sme_state == CFG80211_SME_CONNECTING)
|
|
|
|
+ __cfg80211_connect_result(dev, addr, NULL, 0, NULL, 0,
|
|
|
|
+ WLAN_STATUS_UNSPECIFIED_FAILURE,
|
|
|
|
+ false, NULL);
|
|
|
|
+
|
|
|
|
+ __cfg80211_auth_remove(wdev, addr);
|
|
|
|
|
|
wdev_unlock(wdev);
|
|
wdev_unlock(wdev);
|
|
}
|
|
}
|