• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/mac80211/

Lines Matching defs:wk

1224 static bool ieee80211_assoc_success(struct ieee80211_work *wk,
1227 struct ieee80211_sub_if_data *sdata = wk->sdata;
1232 struct cfg80211_bss *cbss = wk->assoc.bss;
1278 sband = local->hw.wiphy->bands[wk->chan->band];
1314 sta->sta.supp_rates[wk->chan->band] = rates;
1318 if (wk->chan->band == IEEE80211_BAND_2GHZ &&
1352 local->oper_channel = wk->chan;
1752 struct ieee80211_work *wk;
1755 list_for_each_entry(wk, &local->work_list, list) {
1756 if (wk->sdata != sdata)
1759 if (wk->type != IEEE80211_WORK_ASSOC &&
1760 wk->type != IEEE80211_WORK_ASSOC_BEACON_WAIT)
1763 if (memcmp(mgmt->bssid, wk->filter_ta, ETH_ALEN))
1765 if (memcmp(mgmt->sa, wk->filter_ta, ETH_ALEN))
1782 list_del_rcu(&wk->list);
1783 free_work(wk);
2003 ieee80211_probe_auth_done(struct ieee80211_work *wk,
2007 cfg80211_send_auth_timeout(wk->sdata->dev, wk->filter_ta);
2011 if (wk->type == IEEE80211_WORK_AUTH) {
2012 cfg80211_send_rx_auth(wk->sdata->dev, skb->data, skb->len);
2016 mutex_lock(&wk->sdata->u.mgd.mtx);
2017 ieee80211_rx_mgmt_probe_resp(wk->sdata, skb);
2018 mutex_unlock(&wk->sdata->u.mgd.mtx);
2020 wk->type = IEEE80211_WORK_AUTH;
2021 wk->probe_auth.tries = 0;
2029 struct ieee80211_work *wk;
2054 wk = kzalloc(sizeof(*wk) + req->ie_len, GFP_KERNEL);
2055 if (!wk)
2058 memcpy(wk->filter_ta, req->bss->bssid, ETH_ALEN);
2061 memcpy(wk->ie, req->ie, req->ie_len);
2062 wk->ie_len = req->ie_len;
2066 wk->probe_auth.key_len = req->key_len;
2067 wk->probe_auth.key_idx = req->key_idx;
2068 memcpy(wk->probe_auth.key, req->key, req->key_len);
2072 memcpy(wk->probe_auth.ssid, ssid + 2, ssid[1]);
2073 wk->probe_auth.ssid_len = ssid[1];
2075 wk->probe_auth.algorithm = auth_alg;
2076 wk->probe_auth.privacy = req->bss->capability & WLAN_CAPABILITY_PRIVACY;
2080 wk->type = IEEE80211_WORK_AUTH;
2082 wk->type = IEEE80211_WORK_DIRECT_PROBE;
2083 wk->chan = req->bss->channel;
2084 wk->sdata = sdata;
2085 wk->done = ieee80211_probe_auth_done;
2087 ieee80211_add_work(wk);
2091 static enum work_done_result ieee80211_assoc_done(struct ieee80211_work *wk,
2100 cfg80211_send_assoc_timeout(wk->sdata->dev, wk->filter_ta);
2104 if (wk->type == IEEE80211_WORK_ASSOC_BEACON_WAIT) {
2105 mutex_lock(&wk->sdata->u.mgd.mtx);
2108 ieee80211_rx_bss_info(wk->sdata, (void *)skb->data, skb->len, rx_status,
2110 mutex_unlock(&wk->sdata->u.mgd.mtx);
2112 wk->type = IEEE80211_WORK_ASSOC;
2121 mutex_lock(&wk->sdata->u.mgd.mtx);
2122 if (!ieee80211_assoc_success(wk, mgmt, skb->len)) {
2123 mutex_unlock(&wk->sdata->u.mgd.mtx);
2125 cfg80211_send_assoc_timeout(wk->sdata->dev,
2126 wk->filter_ta);
2130 mutex_unlock(&wk->sdata->u.mgd.mtx);
2133 cfg80211_send_rx_assoc(wk->sdata->dev, skb->data, skb->len);
2142 struct ieee80211_work *wk;
2165 wk = kzalloc(sizeof(*wk) + req->ie_len, GFP_KERNEL);
2166 if (!wk)
2180 memcpy(wk->ie, req->ie, req->ie_len);
2181 wk->ie_len = req->ie_len;
2183 wk->ie_len = 0;
2185 wk->assoc.bss = req->bss;
2187 memcpy(wk->filter_ta, req->bss->bssid, ETH_ALEN);
2198 wk->assoc.smps = ifmgd->ap_smps;
2206 wk->assoc.use_11n = !(ifmgd->flags & IEEE80211_STA_DISABLE_11N);
2207 wk->assoc.capability = req->bss->capability;
2208 wk->assoc.wmm_used = bss->wmm_used;
2209 wk->assoc.supp_rates = bss->supp_rates;
2210 wk->assoc.supp_rates_len = bss->supp_rates_len;
2211 wk->assoc.ht_information_ie =
2216 wk->assoc.uapsd_used = true;
2219 wk->assoc.uapsd_used = false;
2224 memcpy(wk->assoc.ssid, ssid + 2, ssid[1]);
2225 wk->assoc.ssid_len = ssid[1];
2228 memcpy(wk->assoc.prev_bssid, req->prev_bssid, ETH_ALEN);
2230 wk->chan = req->bss->channel;
2231 wk->sdata = sdata;
2232 wk->done = ieee80211_assoc_done;
2235 wk->type = IEEE80211_WORK_ASSOC_BEACON_WAIT;
2237 wk->type = IEEE80211_WORK_ASSOC;
2252 ieee80211_add_work(wk);
2262 struct ieee80211_work *wk;
2279 list_for_each_entry(wk, &local->work_list, list) {
2280 if (wk->sdata != sdata)
2283 if (wk->type != IEEE80211_WORK_DIRECT_PROBE &&
2284 wk->type != IEEE80211_WORK_AUTH &&
2285 wk->type != IEEE80211_WORK_ASSOC &&
2286 wk->type != IEEE80211_WORK_ASSOC_BEACON_WAIT)
2289 if (memcmp(req->bss->bssid, wk->filter_ta, ETH_ALEN))
2292 not_auth_yet = wk->type == IEEE80211_WORK_DIRECT_PROBE;
2293 list_del_rcu(&wk->list);
2294 free_work(wk);