ibss.c (01b944fe1cd4e21a2a9ed51adbdbafe2d5e905ba) ibss.c (61f6bba006d4e643fdff62c3d7fd4ea6ca4f468d)
1/*
2 * IBSS mode implementation
3 * Copyright 2003-2008, Jouni Malinen <j@w1.fi>
4 * Copyright 2004, Instant802 Networks, Inc.
5 * Copyright 2005, Devicescape Software, Inc.
6 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
7 * Copyright 2007, Michael Wu <flamingice@sourmilk.net>
8 * Copyright 2009, Johannes Berg <johannes@sipsolutions.net>

--- 215 unchanged lines hidden (view full) ---

224 struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
225 struct ieee80211_local *local = sdata->local;
226 struct ieee80211_mgmt *mgmt;
227 struct cfg80211_bss *bss;
228 u32 bss_change;
229 struct cfg80211_chan_def chandef;
230 struct ieee80211_channel *chan;
231 struct beacon_data *presp;
1/*
2 * IBSS mode implementation
3 * Copyright 2003-2008, Jouni Malinen <j@w1.fi>
4 * Copyright 2004, Instant802 Networks, Inc.
5 * Copyright 2005, Devicescape Software, Inc.
6 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz>
7 * Copyright 2007, Michael Wu <flamingice@sourmilk.net>
8 * Copyright 2009, Johannes Berg <johannes@sipsolutions.net>

--- 215 unchanged lines hidden (view full) ---

224 struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
225 struct ieee80211_local *local = sdata->local;
226 struct ieee80211_mgmt *mgmt;
227 struct cfg80211_bss *bss;
228 u32 bss_change;
229 struct cfg80211_chan_def chandef;
230 struct ieee80211_channel *chan;
231 struct beacon_data *presp;
232 enum nl80211_bss_scan_width scan_width;
232 struct cfg80211_inform_bss bss_meta = {};
233 bool have_higher_than_11mbit;
234 bool radar_required;
235 int err;
236
237 sdata_assert_lock(sdata);
238
239 /* Reset own TSF to allow time synchronization work. */
240 drv_reset_tsf(local, sdata);

--- 137 unchanged lines hidden (view full) ---

378 }
379
380 ieee80211_bss_info_change_notify(sdata, bss_change);
381
382 ifibss->state = IEEE80211_IBSS_MLME_JOINED;
383 mod_timer(&ifibss->timer,
384 round_jiffies(jiffies + IEEE80211_IBSS_MERGE_INTERVAL));
385
233 bool have_higher_than_11mbit;
234 bool radar_required;
235 int err;
236
237 sdata_assert_lock(sdata);
238
239 /* Reset own TSF to allow time synchronization work. */
240 drv_reset_tsf(local, sdata);

--- 137 unchanged lines hidden (view full) ---

378 }
379
380 ieee80211_bss_info_change_notify(sdata, bss_change);
381
382 ifibss->state = IEEE80211_IBSS_MLME_JOINED;
383 mod_timer(&ifibss->timer,
384 round_jiffies(jiffies + IEEE80211_IBSS_MERGE_INTERVAL));
385
386 scan_width = cfg80211_chandef_to_scan_width(&chandef);
387 bss = cfg80211_inform_bss_width_frame(local->hw.wiphy, chan,
388 scan_width, mgmt,
389 presp->head_len, 0, GFP_KERNEL);
386 bss_meta.chan = chan;
387 bss_meta.scan_width = cfg80211_chandef_to_scan_width(&chandef);
388 bss = cfg80211_inform_bss_frame_data(local->hw.wiphy, &bss_meta, mgmt,
389 presp->head_len, GFP_KERNEL);
390
390 cfg80211_put_bss(local->hw.wiphy, bss);
391 netif_carrier_on(sdata->dev);
392 cfg80211_ibss_joined(sdata->dev, ifibss->bssid, chan, GFP_KERNEL);
393}
394
395static void ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
396 struct ieee80211_bss *bss)
397{

--- 1467 unchanged lines hidden ---
391 cfg80211_put_bss(local->hw.wiphy, bss);
392 netif_carrier_on(sdata->dev);
393 cfg80211_ibss_joined(sdata->dev, ifibss->bssid, chan, GFP_KERNEL);
394}
395
396static void ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
397 struct ieee80211_bss *bss)
398{

--- 1467 unchanged lines hidden ---