• 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 refs:sdata

55 	struct ieee80211_sub_if_data *sdata;
65 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
66 sdata->u.mntr_flags = *flags;
82 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
85 if (ieee80211_sdata_running(sdata))
91 ret = ieee80211_if_change_type(sdata, type);
95 if (ieee80211_vif_is_mesh(&sdata->vif) && params->mesh_id_len)
96 ieee80211_sdata_set_mesh_id(sdata,
102 rcu_assign_pointer(sdata->u.vlan.sta, NULL);
105 sdata->u.mgd.use_4addr = params->use_4addr;
107 if (sdata->vif.type == NL80211_IFTYPE_MONITOR && flags)
108 sdata->u.mntr_flags = *flags;
117 struct ieee80211_sub_if_data *sdata;
126 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
148 IS_ERR(sdata->local->wep_tx_tfm))
156 mutex_lock(&sdata->local->sta_mtx);
159 sta = sta_info_get_bss(sdata, mac_addr);
161 ieee80211_key_free(sdata->local, key);
167 ieee80211_key_link(key, sdata, sta);
171 mutex_unlock(&sdata->local->sta_mtx);
179 struct ieee80211_sub_if_data *sdata;
183 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
185 mutex_lock(&sdata->local->sta_mtx);
190 sta = sta_info_get_bss(sdata, mac_addr);
195 ieee80211_key_free(sdata->local, sta->key);
203 if (!sdata->keys[key_idx]) {
208 ieee80211_key_free(sdata->local, sdata->keys[key_idx]);
209 WARN_ON(sdata->keys[key_idx]);
213 mutex_unlock(&sdata->local->sta_mtx);
223 struct ieee80211_sub_if_data *sdata;
232 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
237 sta = sta_info_get_bss(sdata, mac_addr);
243 key = sdata->keys[key_idx];
258 drv_get_tkip_seq(sdata->local,
316 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
318 ieee80211_set_default_key(sdata, key_idx);
327 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
329 ieee80211_set_default_mgmt_key(sdata, key_idx);
336 struct ieee80211_sub_if_data *sdata = sta->sdata;
338 sinfo->generation = sdata->local->sta_generation;
376 if (ieee80211_vif_is_mesh(&sdata->vif)) {
393 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
399 sta = sta_info_get_by_idx(sdata, idx);
422 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
428 sta = sta_info_get_bss(sdata, mac);
442 static int ieee80211_config_beacon(struct ieee80211_sub_if_data *sdata,
450 old = sdata->u.ap.beacon;
461 (sdata->vif.bss_conf.beacon_int != params->interval)) {
462 sdata->vif.bss_conf.beacon_int = params->interval;
463 ieee80211_bss_info_change_notify(sdata,
524 sdata->vif.bss_conf.dtim_period = new->dtim_period;
526 rcu_assign_pointer(sdata->u.ap.beacon, new);
532 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED |
540 struct ieee80211_sub_if_data *sdata;
543 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
545 old = sdata->u.ap.beacon;
550 return ieee80211_config_beacon(sdata, params);
556 struct ieee80211_sub_if_data *sdata;
559 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
561 old = sdata->u.ap.beacon;
566 return ieee80211_config_beacon(sdata, params);
571 struct ieee80211_sub_if_data *sdata;
574 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
576 old = sdata->u.ap.beacon;
581 rcu_assign_pointer(sdata->u.ap.beacon, NULL);
585 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED);
627 skb->dev = sta->sdata->dev;
628 skb->protocol = eth_type_trans(skb, sta->sdata->dev);
641 struct ieee80211_sub_if_data *sdata = sta->sdata;
704 if (ieee80211_vif_is_mesh(&sdata->vif) && params->plink_action) {
721 struct ieee80211_sub_if_data *sdata;
726 sdata = IEEE80211_DEV_TO_SUB_IF(params->vlan);
728 if (sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
729 sdata->vif.type != NL80211_IFTYPE_AP)
732 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
734 if (compare_ether_addr(mac, sdata->vif.addr) == 0)
740 sta = sta_info_alloc(sdata, mac, GFP_KERNEL);
750 layer2_update = sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
751 sdata->vif.type == NL80211_IFTYPE_AP;
771 struct ieee80211_sub_if_data *sdata;
773 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
776 return sta_info_destroy_addr_bss(sdata, mac);
778 sta_info_flush(local, sdata);
787 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
794 sta = sta_info_get_bss(sdata, mac);
800 if (params->vlan && params->vlan != sta->sdata->dev) {
818 sta->sdata = vlansdata;
833 struct ieee80211_sub_if_data *sdata;
838 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
841 sta = sta_info_get(sdata, next_hop);
847 err = mesh_path_add(dst, sdata);
853 mpath = mesh_path_lookup(dst, sdata);
867 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
870 return mesh_path_del(dst, sdata);
872 mesh_path_flush(sdata);
880 struct ieee80211_sub_if_data *sdata;
884 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
888 sta = sta_info_get(sdata, next_hop);
894 mpath = mesh_path_lookup(dst, sdata);
951 struct ieee80211_sub_if_data *sdata;
954 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
957 mpath = mesh_path_lookup(dst, sdata);
972 struct ieee80211_sub_if_data *sdata;
975 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
978 mpath = mesh_path_lookup_by_idx(idx, sdata);
993 struct ieee80211_sub_if_data *sdata;
994 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
996 memcpy(conf, &(sdata->u.mesh.mshcfg), sizeof(struct mesh_config));
1010 struct ieee80211_sub_if_data *sdata;
1013 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1014 ifmsh = &sdata->u.mesh;
1017 conf = &(sdata->u.mesh.mshcfg);
1062 struct ieee80211_sub_if_data *sdata;
1065 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1068 sdata->vif.bss_conf.use_cts_prot = params->use_cts_prot;
1072 sdata->vif.bss_conf.use_short_preamble =
1077 if (!sdata->vif.bss_conf.use_short_slot &&
1078 sdata->local->hw.conf.channel->band == IEEE80211_BAND_5GHZ) {
1079 sdata->vif.bss_conf.use_short_slot = true;
1084 sdata->vif.bss_conf.use_short_slot =
1103 sdata->vif.bss_conf.basic_rates = rates;
1109 sdata->flags |= IEEE80211_SDATA_DONT_BRIDGE_PACKETS;
1111 sdata->flags &= ~IEEE80211_SDATA_DONT_BRIDGE_PACKETS;
1114 ieee80211_bss_info_change_notify(sdata, changed);
1156 struct ieee80211_sub_if_data *sdata = NULL;
1159 sdata = IEEE80211_DEV_TO_SUB_IF(netdev);
1167 if (!sdata && local->_oper_channel_type == channel_type)
1176 if (!ieee80211_set_channel_type(local, sdata, channel_type))
1180 if (sdata && sdata->vif.type != NL80211_IFTYPE_MONITOR)
1181 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_HT);
1205 struct ieee80211_sub_if_data *sdata;
1207 sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1209 if (sdata->vif.type != NL80211_IFTYPE_STATION &&
1210 sdata->vif.type != NL80211_IFTYPE_ADHOC &&
1211 sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
1212 (sdata->vif.type != NL80211_IFTYPE_AP || sdata->u.ap.beacon))
1215 return ieee80211_request_scan(sdata, req);
1228 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1230 switch (ieee80211_get_channel_mode(local, sdata)) {
1264 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1266 switch (ieee80211_get_channel_mode(local, sdata)) {
1279 return ieee80211_ibss_join(sdata, params);
1284 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1286 return ieee80211_ibss_leave(sdata);
1362 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1364 memcpy(&sdata->u.wds.remote_addr, addr, ETH_ALEN);
1388 int __ieee80211_request_smps(struct ieee80211_sub_if_data *sdata,
1395 old_req = sdata->u.mgd.req_smps;
1396 sdata->u.mgd.req_smps = smps_mode;
1406 if (!sdata->u.mgd.associated ||
1407 sdata->vif.bss_conf.channel_type == NL80211_CHAN_NO_HT) {
1408 mutex_lock(&sdata->local->iflist_mtx);
1409 ieee80211_recalc_smps(sdata->local, sdata);
1410 mutex_unlock(&sdata->local->iflist_mtx);
1414 ap = sdata->u.mgd.associated->bssid;
1417 if (sdata->u.mgd.powersave)
1424 err = ieee80211_send_smps_action(sdata, smps_mode,
1427 sdata->u.mgd.req_smps = old_req;
1435 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1438 if (sdata->vif.type != NL80211_IFTYPE_STATION)
1444 if (enabled == sdata->u.mgd.powersave &&
1448 sdata->u.mgd.powersave = enabled;
1452 mutex_lock(&sdata->u.mgd.mtx);
1453 __ieee80211_request_smps(sdata, sdata->u.mgd.req_smps);
1454 mutex_unlock(&sdata->u.mgd.mtx);
1468 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1470 struct ieee80211_vif *vif = &sdata->vif;
1481 if (sdata->vif.type != NL80211_IFTYPE_STATION)
1487 if (sdata->u.mgd.associated)
1488 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_CQM);
1498 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1512 sdata->rc_rateidx_mask[i] = mask->control[i].legacy;
1524 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1526 return ieee80211_wk_remain_on_channel(sdata, chan, channel_type,
1534 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1536 return ieee80211_wk_cancel_remain_on_channel(sdata, cookie);
1545 struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
1546 struct ieee80211_local *local = sdata->local;
1562 switch (sdata->vif.type) {
1567 sta = sta_info_get(sdata, mgmt->da);
1573 if (!(sdata->u.mgd.flags & IEEE80211_STA_MFP_ENABLED))
1589 skb->dev = sdata->dev;
1590 ieee80211_tx_skb(sdata, skb);