Lines Matching refs:offchannel

56 	if (!sc->cur_chan->offchannel && sc->cur_survey != &sc->survey[pos]) {  in ath_set_channel()
240 if (ctx == &sc->offchannel.chan) { in ath_chanctx_check_active()
516 sc->next_chan = &sc->offchannel.chan; in ath_chanctx_event()
576 if (sc->next_chan == &sc->offchannel.chan) { in ath_chanctx_event()
655 sc->cur_chan == &sc->offchannel.chan) in ath_chanctx_event()
693 sc->cur_chan == &sc->offchannel.chan) in ath_chanctx_event()
724 if (sc->cur_chan == &sc->offchannel.chan || in ath_chanctx_event()
734 sc->next_chan != &sc->offchannel.chan) in ath_chanctx_event()
772 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_channel_duration()
788 (sc->cur_chan != ctx) && (ctx == &sc->offchannel.chan)) { in ath_chanctx_switch()
795 jiffies_to_usecs(sc->offchannel.duration) + in ath_chanctx_switch()
811 if (sc->next_chan == &sc->offchannel.chan) { in ath_chanctx_switch()
813 jiffies_to_usecs(sc->offchannel.duration) + in ath_chanctx_switch()
837 ath_chanctx_switch(sc, &sc->offchannel.chan, &chandef); in ath_chanctx_offchan_switch()
862 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_next_channel()
865 if (sc->offchannel.scan_idx >= req->n_channels) { in ath_scan_next_channel()
869 sc->offchannel.scan_idx, in ath_scan_next_channel()
872 sc->offchannel.state = ATH_OFFCHANNEL_IDLE; in ath_scan_next_channel()
880 sc->offchannel.scan_idx); in ath_scan_next_channel()
882 chan = req->channels[sc->offchannel.scan_idx++]; in ath_scan_next_channel()
883 sc->offchannel.duration = ath_scan_channel_duration(sc, chan); in ath_scan_next_channel()
884 sc->offchannel.state = ATH_OFFCHANNEL_PROBE_SEND; in ath_scan_next_channel()
893 if (sc->offchannel.scan_req) { in ath_offchannel_next()
894 vif = sc->offchannel.scan_vif; in ath_offchannel_next()
895 sc->offchannel.chan.txpower = vif->bss_conf.txpower; in ath_offchannel_next()
897 } else if (sc->offchannel.roc_vif) { in ath_offchannel_next()
898 vif = sc->offchannel.roc_vif; in ath_offchannel_next()
899 sc->offchannel.chan.txpower = vif->bss_conf.txpower; in ath_offchannel_next()
900 sc->offchannel.duration = in ath_offchannel_next()
901 msecs_to_jiffies(sc->offchannel.roc_duration); in ath_offchannel_next()
902 sc->offchannel.state = ATH_OFFCHANNEL_ROC_START; in ath_offchannel_next()
903 ath_chanctx_offchan_switch(sc, sc->offchannel.roc_chan); in ath_offchannel_next()
912 sc->offchannel.state = ATH_OFFCHANNEL_IDLE; in ath_offchannel_next()
927 sc->offchannel.roc_vif = NULL; in ath_roc_complete()
928 sc->offchannel.roc_chan = NULL; in ath_roc_complete()
943 sc->offchannel.scan_req = NULL; in ath_scan_complete()
944 sc->offchannel.scan_vif = NULL; in ath_scan_complete()
945 sc->offchannel.state = ATH_OFFCHANNEL_IDLE; in ath_scan_complete()
959 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_send_probe()
960 struct ieee80211_vif *vif = sc->offchannel.scan_vif; in ath_scan_send_probe()
964 int band = sc->offchannel.chan.chandef.chan->band; in ath_scan_send_probe()
997 struct cfg80211_scan_request *req = sc->offchannel.scan_req; in ath_scan_channel_start()
1010 sc->offchannel.state = ATH_OFFCHANNEL_PROBE_WAIT; in ath_scan_channel_start()
1011 mod_timer(&sc->offchannel.timer, jiffies + sc->offchannel.duration); in ath_scan_channel_start()
1032 __func__, offchannel_state_string(sc->offchannel.state)); in ath_offchannel_timer()
1034 switch (sc->offchannel.state) { in ath_offchannel_timer()
1036 if (!sc->offchannel.scan_req) in ath_offchannel_timer()
1046 sc->offchannel.state = ATH_OFFCHANNEL_SUSPEND; in ath_offchannel_timer()
1048 mod_timer(&sc->offchannel.timer, jiffies + HZ / 10); in ath_offchannel_timer()
1053 if (!sc->offchannel.scan_req) in ath_offchannel_timer()
1060 sc->offchannel.state = ATH_OFFCHANNEL_ROC_DONE; in ath_offchannel_timer()
1135 if (sc->cur_chan == &sc->offchannel.chan) in ath_chanctx_defer_switch()
1162 __func__, offchannel_state_string(sc->offchannel.state)); in ath_offchannel_channel_change()
1164 switch (sc->offchannel.state) { in ath_offchannel_channel_change()
1166 if (!sc->offchannel.scan_req) in ath_offchannel_channel_change()
1170 sc->offchannel.chan.chandef.chan) in ath_offchannel_channel_change()
1176 if (!sc->offchannel.scan_req) in ath_offchannel_channel_change()
1182 if (sc->cur_chan != &sc->offchannel.chan) in ath_offchannel_channel_change()
1185 sc->offchannel.state = ATH_OFFCHANNEL_ROC_WAIT; in ath_offchannel_channel_change()
1186 mod_timer(&sc->offchannel.timer, in ath_offchannel_channel_change()
1187 jiffies + sc->offchannel.duration); in ath_offchannel_channel_change()
1230 if (sc->next_chan == &sc->offchannel.chan) { in ath_chanctx_set_next()
1247 if (sc->cur_chan != &sc->offchannel.chan) { in ath_chanctx_set_next()
1315 ctx = &sc->offchannel.chan; in ath9k_offchannel_init()
1323 sc->offchannel.chan.offchannel = true; in ath9k_offchannel_init()
1330 setup_timer(&sc->offchannel.timer, ath_offchannel_timer, in ath9k_init_channel_context()
1357 if (ctx == &sc->offchannel.chan) { in ath9k_chanctx_stop_queues()
1376 if (ctx == &sc->offchannel.chan) { in ath9k_chanctx_wake_queues()