Lines Matching defs:sdata

38 void ieee80211_ocb_rx_no_sta(struct ieee80211_sub_if_data *sdata,
42 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
43 struct ieee80211_local *local = sdata->local;
55 sdata->name, addr);
59 ocb_dbg(sdata, "Adding new OCB station %pM\n", addr);
62 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
71 sta = sta_info_alloc(sdata, addr, GFP_ATOMIC);
83 ieee80211_queue_work(&local->hw, &sdata->work);
89 struct ieee80211_sub_if_data *sdata = sta->sdata;
94 ocb_dbg(sdata, "Adding new IBSS station %pM (dev=%s)\n",
95 addr, sdata->name);
105 return sta_info_get(sdata, addr);
109 static void ieee80211_ocb_housekeeping(struct ieee80211_sub_if_data *sdata)
111 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
113 ocb_dbg(sdata, "Running ocb housekeeping\n");
115 ieee80211_sta_expire(sdata, IEEE80211_OCB_PEER_INACTIVITY_LIMIT);
121 void ieee80211_ocb_work(struct ieee80211_sub_if_data *sdata)
123 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
129 sdata_lock(sdata);
145 ieee80211_ocb_housekeeping(sdata);
147 sdata_unlock(sdata);
152 struct ieee80211_sub_if_data *sdata =
153 from_timer(sdata, t, u.ocb.housekeeping_timer);
154 struct ieee80211_local *local = sdata->local;
155 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
159 ieee80211_queue_work(&local->hw, &sdata->work);
162 void ieee80211_ocb_setup_sdata(struct ieee80211_sub_if_data *sdata)
164 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
172 int ieee80211_ocb_join(struct ieee80211_sub_if_data *sdata,
175 struct ieee80211_local *local = sdata->local;
176 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
183 sdata->flags |= IEEE80211_SDATA_OPERATING_GMODE;
184 sdata->smps_mode = IEEE80211_SMPS_OFF;
185 sdata->needed_rx_chains = sdata->local->rx_chains;
187 mutex_lock(&sdata->local->mtx);
188 err = ieee80211_vif_use_channel(sdata, &setup->chandef,
190 mutex_unlock(&sdata->local->mtx);
194 ieee80211_bss_info_change_notify(sdata, changed);
199 ieee80211_queue_work(&local->hw, &sdata->work);
201 netif_carrier_on(sdata->dev);
205 int ieee80211_ocb_leave(struct ieee80211_sub_if_data *sdata)
207 struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
208 struct ieee80211_local *local = sdata->local;
212 sta_info_flush(sdata);
226 netif_carrier_off(sdata->dev);
227 clear_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
228 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_OCB);
230 mutex_lock(&sdata->local->mtx);
231 ieee80211_vif_release_channel(sdata);
232 mutex_unlock(&sdata->local->mtx);
234 skb_queue_purge(&sdata->skb_queue);
236 del_timer_sync(&sdata->u.ocb.housekeeping_timer);