mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
cfg80211: pass wiphy to cfg80211_ref_bss/put_bss
This prepares for using the spinlock instead of krefs which is needed in the next patch to track the refs of combined BSSes correctly. Acked-by: Bing Zhao <[email protected]> [mwifiex] Signed-off-by: Johannes Berg <[email protected]>
This commit is contained in:
parent
bba87ffe60
commit
5b112d3d09
21 changed files with 51 additions and 48 deletions
|
|
@ -715,7 +715,7 @@ void cfg80211_dev_free(struct cfg80211_registered_device *rdev)
|
|||
kfree(reg);
|
||||
}
|
||||
list_for_each_entry_safe(scan, tmp, &rdev->bss_list, list)
|
||||
cfg80211_put_bss(&scan->pub);
|
||||
cfg80211_put_bss(&rdev->wiphy, &scan->pub);
|
||||
kfree(rdev);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ void __cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid)
|
|||
|
||||
if (wdev->current_bss) {
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub);
|
||||
}
|
||||
|
||||
cfg80211_hold_bss(bss_from_pub(bss));
|
||||
|
|
@ -182,7 +182,7 @@ static void __cfg80211_clear_ibss(struct net_device *dev, bool nowext)
|
|||
|
||||
if (wdev->current_bss) {
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub);
|
||||
}
|
||||
|
||||
wdev->current_bss = NULL;
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ void cfg80211_send_rx_assoc(struct net_device *dev, struct cfg80211_bss *bss,
|
|||
*/
|
||||
if (status_code != WLAN_STATUS_SUCCESS && wdev->conn &&
|
||||
cfg80211_sme_failed_reassoc(wdev)) {
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(wiphy, bss);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ void cfg80211_send_rx_assoc(struct net_device *dev, struct cfg80211_bss *bss,
|
|||
* do not call connect_result() now because the
|
||||
* sme will schedule work that does it later.
|
||||
*/
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(wiphy, bss);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ void __cfg80211_send_deauth(struct net_device *dev,
|
|||
if (wdev->current_bss &&
|
||||
ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) {
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wiphy, &wdev->current_bss->pub);
|
||||
wdev->current_bss = NULL;
|
||||
was_current = true;
|
||||
}
|
||||
|
|
@ -164,7 +164,7 @@ void __cfg80211_send_disassoc(struct net_device *dev,
|
|||
ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) {
|
||||
cfg80211_sme_disassoc(dev, wdev->current_bss);
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wiphy, &wdev->current_bss->pub);
|
||||
wdev->current_bss = NULL;
|
||||
} else
|
||||
WARN_ON(1);
|
||||
|
|
@ -324,7 +324,7 @@ int __cfg80211_mlme_auth(struct cfg80211_registered_device *rdev,
|
|||
err = rdev_auth(rdev, dev, &req);
|
||||
|
||||
out:
|
||||
cfg80211_put_bss(req.bss);
|
||||
cfg80211_put_bss(&rdev->wiphy, req.bss);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
@ -432,7 +432,7 @@ out:
|
|||
if (err) {
|
||||
if (was_connected)
|
||||
wdev->sme_state = CFG80211_SME_CONNECTED;
|
||||
cfg80211_put_bss(req.bss);
|
||||
cfg80211_put_bss(&rdev->wiphy, req.bss);
|
||||
}
|
||||
|
||||
return err;
|
||||
|
|
@ -572,7 +572,7 @@ void cfg80211_mlme_down(struct cfg80211_registered_device *rdev,
|
|||
|
||||
if (wdev->current_bss) {
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(&rdev->wiphy, &wdev->current_bss->pub);
|
||||
wdev->current_bss = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -818,7 +818,7 @@ cfg80211_inform_bss_frame(struct wiphy *wiphy,
|
|||
}
|
||||
EXPORT_SYMBOL(cfg80211_inform_bss_frame);
|
||||
|
||||
void cfg80211_ref_bss(struct cfg80211_bss *pub)
|
||||
void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
|
||||
{
|
||||
struct cfg80211_internal_bss *bss;
|
||||
|
||||
|
|
@ -830,7 +830,7 @@ void cfg80211_ref_bss(struct cfg80211_bss *pub)
|
|||
}
|
||||
EXPORT_SYMBOL(cfg80211_ref_bss);
|
||||
|
||||
void cfg80211_put_bss(struct cfg80211_bss *pub)
|
||||
void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
|
||||
{
|
||||
struct cfg80211_internal_bss *bss;
|
||||
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ static void __cfg80211_sme_scan_done(struct net_device *dev)
|
|||
|
||||
bss = cfg80211_get_conn_bss(wdev);
|
||||
if (bss) {
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(&rdev->wiphy, bss);
|
||||
} else {
|
||||
/* not found */
|
||||
if (wdev->conn->state == CFG80211_CONN_SCAN_AGAIN)
|
||||
|
|
@ -464,7 +464,7 @@ void __cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
|
|||
|
||||
if (wdev->current_bss) {
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub);
|
||||
wdev->current_bss = NULL;
|
||||
}
|
||||
|
||||
|
|
@ -480,7 +480,7 @@ void __cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
|
|||
kfree(wdev->connect_keys);
|
||||
wdev->connect_keys = NULL;
|
||||
wdev->ssid_len = 0;
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(wdev->wiphy, bss);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -586,7 +586,7 @@ void __cfg80211_roamed(struct wireless_dev *wdev,
|
|||
}
|
||||
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub);
|
||||
wdev->current_bss = NULL;
|
||||
|
||||
cfg80211_hold_bss(bss_from_pub(bss));
|
||||
|
|
@ -621,7 +621,7 @@ void __cfg80211_roamed(struct wireless_dev *wdev,
|
|||
|
||||
return;
|
||||
out:
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(wdev->wiphy, bss);
|
||||
}
|
||||
|
||||
void cfg80211_roamed(struct net_device *dev,
|
||||
|
|
@ -663,7 +663,7 @@ void cfg80211_roamed_bss(struct net_device *dev,
|
|||
|
||||
ev = kzalloc(sizeof(*ev) + req_ie_len + resp_ie_len, gfp);
|
||||
if (!ev) {
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(wdev->wiphy, bss);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -704,7 +704,7 @@ void __cfg80211_disconnected(struct net_device *dev, const u8 *ie,
|
|||
|
||||
if (wdev->current_bss) {
|
||||
cfg80211_unhold_bss(wdev->current_bss);
|
||||
cfg80211_put_bss(&wdev->current_bss->pub);
|
||||
cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub);
|
||||
}
|
||||
|
||||
wdev->current_bss = NULL;
|
||||
|
|
@ -875,7 +875,7 @@ int __cfg80211_connect(struct cfg80211_registered_device *rdev,
|
|||
if (bss) {
|
||||
wdev->conn->state = CFG80211_CONN_AUTHENTICATE_NEXT;
|
||||
err = cfg80211_conn_do_work(wdev);
|
||||
cfg80211_put_bss(bss);
|
||||
cfg80211_put_bss(wdev->wiphy, bss);
|
||||
} else {
|
||||
/* otherwise we'll need to scan for the AP first */
|
||||
err = cfg80211_conn_scan(wdev);
|
||||
|
|
|
|||
Loading…
Reference in a new issue