Lines Matching defs:sdata
39 void ieee80211_ocb_rx_no_sta(struct ieee80211_sub_if_data *sdata,
43 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
44 struct ieee80211_local *local = sdata->local;
56 sdata->name, addr);
60 ocb_dbg(sdata, "Adding new OCB station %pM\n", addr);
63 chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf);
72 sta = sta_info_alloc(sdata, addr, GFP_ATOMIC);
84 wiphy_work_queue(local->hw.wiphy, &sdata->work);
90 struct ieee80211_sub_if_data *sdata = sta->sdata;
95 ocb_dbg(sdata, "Adding new IBSS station %pM (dev=%s)\n",
96 addr, sdata->name);
106 return sta_info_get(sdata, addr);
110 static void ieee80211_ocb_housekeeping(struct ieee80211_sub_if_data *sdata)
112 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
114 ocb_dbg(sdata, "Running ocb housekeeping\n");
116 ieee80211_sta_expire(sdata, IEEE80211_OCB_PEER_INACTIVITY_LIMIT);
122 void ieee80211_ocb_work(struct ieee80211_sub_if_data *sdata)
124 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
130 sdata_lock(sdata);
146 ieee80211_ocb_housekeeping(sdata);
148 sdata_unlock(sdata);
153 struct ieee80211_sub_if_data *sdata =
154 from_timer(sdata, t, u.ocb.housekeeping_timer);
155 struct ieee80211_local *local = sdata->local;
156 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
160 wiphy_work_queue(local->hw.wiphy, &sdata->work);
163 void ieee80211_ocb_setup_sdata(struct ieee80211_sub_if_data *sdata)
165 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
173 int ieee80211_ocb_join(struct ieee80211_sub_if_data *sdata,
176 struct ieee80211_local *local = sdata->local;
177 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
184 sdata->deflink.operating_11g_mode = true;
185 sdata->deflink.smps_mode = IEEE80211_SMPS_OFF;
186 sdata->deflink.needed_rx_chains = sdata->local->rx_chains;
188 mutex_lock(&sdata->local->mtx);
189 err = ieee80211_link_use_channel(&sdata->deflink, &setup->chandef,
191 mutex_unlock(&sdata->local->mtx);
195 ieee80211_bss_info_change_notify(sdata, changed);
200 wiphy_work_queue(local->hw.wiphy, &sdata->work);
202 netif_carrier_on(sdata->dev);
206 int ieee80211_ocb_leave(struct ieee80211_sub_if_data *sdata)
208 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
209 struct ieee80211_local *local = sdata->local;
213 sta_info_flush(sdata);
227 netif_carrier_off(sdata->dev);
228 clear_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
229 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_OCB);
231 mutex_lock(&sdata->local->mtx);
232 ieee80211_link_release_channel(&sdata->deflink);
233 mutex_unlock(&sdata->local->mtx);
235 skb_queue_purge(&sdata->skb_queue);
237 del_timer_sync(&sdata->u.ocb.housekeeping_timer);