Lines Matching full:ic
96 ieee80211_swscan_detach(struct ieee80211com *ic)
98 struct ieee80211_scan_state *ss = ic->ic_scan;
102 ieee80211_draintask(ic, &SCAN_PRIVATE(ss)->ss_scan_start);
103 taskqueue_drain_timeout(ic->ic_tq,
105 KASSERT((ic->ic_flags & IEEE80211_F_SCAN) == 0,
119 ic->ic_scan = NULL;
137 struct ieee80211com *ic = vap->iv_ic;
138 struct ieee80211_scan_state *ss = ic->ic_scan;
140 IEEE80211_LOCK_ASSERT(ic);
143 (ic->ic_flags & IEEE80211_F_SCAN))
150 struct ieee80211com *ic = vap->iv_ic;
151 struct ieee80211_scan_state *ss = ic->ic_scan;
153 IEEE80211_LOCK_ASSERT(ic);
169 struct ieee80211com *ic = vap->iv_ic;
170 struct ieee80211_scan_state *ss = ic->ic_scan;
172 IEEE80211_LOCK_ASSERT(ic);
174 if (ic->ic_flags & IEEE80211_F_CSAPENDING) {
177 } else if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) {
205 ic->ic_flags_ext |= IEEE80211_FEXT_BGSCAN;
219 ic->ic_flags |= IEEE80211_F_SCAN;
222 ieee80211_runtask(ic, &SCAN_PRIVATE(ss)->ss_scan_start);
244 struct ieee80211com *ic = vap->iv_ic;
247 IEEE80211_UNLOCK_ASSERT(ic);
249 IEEE80211_LOCK(ic);
252 IEEE80211_UNLOCK(ic);
271 struct ieee80211com *ic = vap->iv_ic;
272 struct ieee80211_scan_state *ss = ic->ic_scan;
275 IEEE80211_LOCK_ASSERT(ic);
287 if ((ic->ic_flags & IEEE80211_F_SCAN) == 0 &&
289 ieee80211_time_before(ticks, ic->ic_lastscan + vap->iv_scanvalid)) {
300 ic->ic_lastscan,
304 ic->ic_flags |= IEEE80211_F_SCAN;
310 ic->ic_flags &= ~IEEE80211_F_SCAN;
334 struct ieee80211com *ic = vap->iv_ic;
335 struct ieee80211_scan_state *ss = ic->ic_scan;
339 // IEEE80211_UNLOCK_ASSERT(ic);
341 IEEE80211_LOCK(ic);
342 scanning = ic->ic_flags & IEEE80211_F_SCAN;
404 ic->ic_flags |= IEEE80211_F_SCAN;
405 ic->ic_flags_ext |= IEEE80211_FEXT_BGSCAN;
406 ieee80211_runtask(ic,
417 IEEE80211_UNLOCK(ic);
431 struct ieee80211com *ic = vap->iv_ic;
432 struct ieee80211_scan_state *ss = ic->ic_scan;
436 IEEE80211_LOCK(ic);
438 if ((ic->ic_flags & IEEE80211_F_SCAN) &&
455 !! (ic->ic_flags & IEEE80211_F_SCAN),
459 IEEE80211_UNLOCK(ic);
509 struct ieee80211com *ic = vap->iv_ic;
510 struct ieee80211_scan_state *ss = ic->ic_scan;
512 IEEE80211_LOCK_ASSERT(ic);
527 struct ieee80211com *ic = vap->iv_ic;
528 struct ieee80211_scan_state *ss = ic->ic_scan;
541 * XXX remove dependence on ic/vap->iv_bss
564 struct ieee80211com *ic = ss->ss_ic;
570 IEEE80211_LOCK(ic);
573 taskqueue_enqueue_timeout(ic->ic_tq,
575 IEEE80211_UNLOCK(ic);
581 struct ieee80211com *ic = ss->ss_ic;
583 IEEE80211_UNLOCK_ASSERT(ic);
585 IEEE80211_LOCK(ic);
587 IEEE80211_UNLOCK(ic);
595 struct ieee80211com *ic = ss->ss_ic;
597 IEEE80211_LOCK_ASSERT(ic);
601 if (taskqueue_cancel_timeout(ic->ic_tq, scan_task, NULL) == 0)
602 taskqueue_enqueue_timeout(ic->ic_tq, scan_task, 0);
627 struct ieee80211com *ic = ss->ss_ic;
629 IEEE80211_LOCK(ic);
630 if (vap == NULL || (ic->ic_flags & IEEE80211_F_SCAN) == 0 ||
657 mtx_sleep(vap, IEEE80211_LOCK_OBJ(ic), PCATCH,
670 IEEE80211_UNLOCK(ic);
672 ic->ic_scan_start(ic); /* notify driver */
682 struct ieee80211com *ic = ss->ss_ic;
687 IEEE80211_LOCK(ic);
732 ieee80211_chan2ieee(ic, ic->ic_curchan),
733 ieee80211_channel_type_char(ic->ic_curchan),
734 ieee80211_chan2ieee(ic, chan),
744 ic->ic_curchan = chan;
745 ic->ic_rt = ieee80211_get_ratetable(chan);
746 IEEE80211_UNLOCK(ic);
752 ic->ic_set_channel(ic);
753 ieee80211_radiotap_chan_change(ic);
765 ic->ic_scan_curchan(ss, maxdwell);
766 IEEE80211_LOCK(ic);
775 taskqueue_cancel_timeout(ic->ic_tq, &ss_priv->ss_scan_curchan,
782 IEEE80211_UNLOCK(ic);
790 struct ieee80211com *ic = ss->ss_ic;
792 IEEE80211_LOCK_ASSERT(ic);
801 IEEE80211_UNLOCK(ic);
802 ic->ic_scan_end(ic); /* notify driver */
803 IEEE80211_LOCK(ic);
825 ic->ic_lastscan = ticks;
827 if (ic->ic_bsschan != IEEE80211_CHAN_ANYC &&
828 ic->ic_curchan != ic->ic_bsschan) {
829 ieee80211_setupcurchan(ic, ic->ic_bsschan);
830 IEEE80211_UNLOCK(ic);
831 ic->ic_set_channel(ic);
832 ieee80211_radiotap_chan_change(ic);
833 IEEE80211_LOCK(ic);
863 ieee80211_runtask(ic, &ss_priv->ss_scan_start);
864 IEEE80211_UNLOCK(ic);
897 struct ieee80211com *ic = ss->ss_ic;
900 IEEE80211_LOCK_ASSERT(ic);
908 ic->ic_flags &= ~IEEE80211_F_SCAN;
932 ic->ic_flags_ext &= ~IEEE80211_FEXT_BGSCAN;
943 IEEE80211_UNLOCK(ic);
957 struct ieee80211com *ic = vap->iv_ic;
958 struct ieee80211_scan_state *ss = ic->ic_scan;
971 if (ieee80211_msg_scan(vap) && (ic->ic_flags & IEEE80211_F_SCAN))
985 ieee80211_chan2ieee(ic, ic->ic_curchan),
986 ieee80211_channel_type_char(ic->ic_curchan),
993 ic->ic_scan_mindwell(ss);
1019 ieee80211_swscan_attach(struct ieee80211com *ic)
1026 ic->ic_scan_methods = &swscan_methods;
1032 ic->ic_scan = NULL;
1036 TIMEOUT_TASK_INIT(ic->ic_tq, &ss->ss_scan_curchan, 0,
1039 ic->ic_scan = &ss->base;
1040 ss->base.ss_ic = ic;
1042 ic->ic_scan_curchan = scan_curchan;
1043 ic->ic_scan_mindwell = scan_mindwell;