Lines Matching full:offchannel

57 	if (!sc->cur_chan->offchannel && sc->cur_survey != &sc->survey[pos]) {  in ath_set_channel()
253 if (ctx == &sc->offchannel.chan) { in ath_chanctx_check_active()
268 * the current context is offchannel. in ath_chanctx_check_active()
421 "offchannel noa_duration: %d, noa_start: %u, noa_index: %d\n", in ath_chanctx_offchannel_noa()
429 * an offchannel operation. in ath_chanctx_offchannel_noa()
532 sc->next_chan = &sc->offchannel.chan; in ath_chanctx_event()
588 * If an offchannel switch is scheduled to happen after in ath_chanctx_event()
592 if (sc->next_chan == &sc->offchannel.chan) { in ath_chanctx_event()
671 sc->cur_chan == &sc->offchannel.chan) in ath_chanctx_event()
709 sc->cur_chan == &sc->offchannel.chan) in ath_chanctx_event()
740 if (sc->cur_chan == &sc->offchannel.chan || in ath_chanctx_event()
750 sc->next_chan != &sc->offchannel.chan) in ath_chanctx_event()
788 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_channel_duration()
804 (sc->cur_chan != ctx) && (ctx == &sc->offchannel.chan)) { in ath_chanctx_switch()
811 jiffies_to_usecs(sc->offchannel.duration) + in ath_chanctx_switch()
827 if (sc->next_chan == &sc->offchannel.chan) { in ath_chanctx_switch()
829 jiffies_to_usecs(sc->offchannel.duration) + in ath_chanctx_switch()
834 "Offchannel duration for chan %d MHz : %u\n", in ath_chanctx_switch()
853 ath_chanctx_switch(sc, &sc->offchannel.chan, &chandef); in ath_chanctx_offchan_switch()
878 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_next_channel()
881 if (sc->offchannel.scan_idx >= req->n_channels) { in ath_scan_next_channel()
883 "Moving offchannel state to ATH_OFFCHANNEL_IDLE, " in ath_scan_next_channel()
885 sc->offchannel.scan_idx, in ath_scan_next_channel()
888 sc->offchannel.state = ATH_OFFCHANNEL_IDLE; in ath_scan_next_channel()
895 "Moving offchannel state to ATH_OFFCHANNEL_PROBE_SEND, scan_idx: %d\n", in ath_scan_next_channel()
896 sc->offchannel.scan_idx); in ath_scan_next_channel()
898 chan = req->channels[sc->offchannel.scan_idx++]; in ath_scan_next_channel()
899 sc->offchannel.duration = ath_scan_channel_duration(sc, chan); in ath_scan_next_channel()
900 sc->offchannel.state = ATH_OFFCHANNEL_PROBE_SEND; in ath_scan_next_channel()
909 if (sc->offchannel.scan_req) { in ath_offchannel_next()
910 vif = sc->offchannel.scan_vif; in ath_offchannel_next()
911 sc->offchannel.chan.txpower = vif->bss_conf.txpower; in ath_offchannel_next()
913 } else if (sc->offchannel.roc_vif) { in ath_offchannel_next()
914 vif = sc->offchannel.roc_vif; in ath_offchannel_next()
915 sc->offchannel.chan.txpower = vif->bss_conf.txpower; in ath_offchannel_next()
916 sc->offchannel.duration = in ath_offchannel_next()
917 msecs_to_jiffies(sc->offchannel.roc_duration); in ath_offchannel_next()
918 sc->offchannel.state = ATH_OFFCHANNEL_ROC_START; in ath_offchannel_next()
919 ath_chanctx_offchan_switch(sc, sc->offchannel.roc_chan); in ath_offchannel_next()
928 sc->offchannel.state = ATH_OFFCHANNEL_IDLE; in ath_offchannel_next()
938 sc->offchannel.roc_vif = NULL; in ath_roc_complete()
939 sc->offchannel.roc_chan = NULL; in ath_roc_complete()
971 sc->offchannel.scan_req = NULL; in ath_scan_complete()
972 sc->offchannel.scan_vif = NULL; in ath_scan_complete()
973 sc->offchannel.state = ATH_OFFCHANNEL_IDLE; in ath_scan_complete()
987 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_send_probe()
988 struct ieee80211_vif *vif = sc->offchannel.scan_vif; in ath_scan_send_probe()
992 int band = sc->offchannel.chan.chandef.chan->band; in ath_scan_send_probe()
1024 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_channel_start()
1035 "Moving offchannel state to ATH_OFFCHANNEL_PROBE_WAIT\n"); in ath_scan_channel_start()
1037 sc->offchannel.state = ATH_OFFCHANNEL_PROBE_WAIT; in ath_scan_channel_start()
1038 mod_timer(&sc->offchannel.timer, jiffies + sc->offchannel.duration); in ath_scan_channel_start()
1054 struct ath_softc *sc = from_timer(sc, t, offchannel.timer); in ath_offchannel_timer()
1058 ath_dbg(common, CHAN_CTX, "%s: offchannel state: %s\n", in ath_offchannel_timer()
1059 __func__, offchannel_state_string(sc->offchannel.state)); in ath_offchannel_timer()
1061 switch (sc->offchannel.state) { in ath_offchannel_timer()
1063 if (!sc->offchannel.scan_req) in ath_offchannel_timer()
1071 "move offchannel state to ATH_OFFCHANNEL_SUSPEND\n"); in ath_offchannel_timer()
1073 sc->offchannel.state = ATH_OFFCHANNEL_SUSPEND; in ath_offchannel_timer()
1075 mod_timer(&sc->offchannel.timer, jiffies + HZ / 10); in ath_offchannel_timer()
1080 if (!sc->offchannel.scan_req) in ath_offchannel_timer()
1087 sc->offchannel.state = ATH_OFFCHANNEL_ROC_DONE; in ath_offchannel_timer()
1162 if (sc->cur_chan == &sc->offchannel.chan) in ath_chanctx_defer_switch()
1188 ath_dbg(common, CHAN_CTX, "%s: offchannel state: %s\n", in ath_offchannel_channel_change()
1189 __func__, offchannel_state_string(sc->offchannel.state)); in ath_offchannel_channel_change()
1191 switch (sc->offchannel.state) { in ath_offchannel_channel_change()
1193 if (!sc->offchannel.scan_req) in ath_offchannel_channel_change()
1197 sc->offchannel.chan.chandef.chan) in ath_offchannel_channel_change()
1203 if (!sc->offchannel.scan_req) in ath_offchannel_channel_change()
1209 if (sc->cur_chan != &sc->offchannel.chan) in ath_offchannel_channel_change()
1212 sc->offchannel.state = ATH_OFFCHANNEL_ROC_WAIT; in ath_offchannel_channel_change()
1213 mod_timer(&sc->offchannel.timer, in ath_offchannel_channel_change()
1214 jiffies + sc->offchannel.duration); in ath_offchannel_channel_change()
1257 if (sc->next_chan == &sc->offchannel.chan) { in ath_chanctx_set_next()
1274 if (sc->cur_chan != &sc->offchannel.chan) { in ath_chanctx_set_next()
1342 ctx = &sc->offchannel.chan; in ath9k_offchannel_init()
1353 sc->offchannel.chan.offchannel = true; in ath9k_offchannel_init()
1360 timer_setup(&sc->offchannel.timer, ath_offchannel_timer, 0); in ath9k_init_channel_context()
1385 if (ctx == &sc->offchannel.chan) { in ath9k_chanctx_stop_queues()
1404 if (ctx == &sc->offchannel.chan) { in ath9k_chanctx_wake_queues()