Searched refs:beacon (Results 1 - 200 of 377) sorted by relevance

12

/linux-4.1.27/drivers/net/wireless/ath/ath9k/
H A Dbeacon.c24 sc->beacon.tx_processed = false; ath9k_reset_beacon_status()
25 sc->beacon.tx_last = false; ath9k_reset_beacon_status()
40 ath9k_hw_get_txq_props(ah, sc->beacon.beaconq, &qi); ath9k_beaconq_config()
44 /* Always burst out beacon and CAB traffic. */ ath9k_beaconq_config()
60 if (!ath9k_hw_set_txq_props(ah, sc->beacon.beaconq, &qi)) { ath9k_beaconq_config()
61 ath_err(common, "Unable to update h/w beacon queue parameters\n"); ath9k_beaconq_config()
63 ath9k_hw_resettxqueue(ah, sc->beacon.beaconq); ath9k_beaconq_config()
68 * Associates the beacon frame buffer with a transmit descriptor. Will set
103 info.qcu = sc->beacon.beaconq; ath9k_beacon_setup()
120 struct ath_txq *cabq = sc->beacon.cabq; ath9k_beacon_generate()
145 mgmt_hdr->u.beacon.timestamp = avp->tsf_adjust; ath9k_beacon_generate()
168 * beacon is also a DTIM. ath9k_beacon_generate()
200 avp->av_bcbuf = list_first_entry(&sc->beacon.bbuf, struct ath_buf, list); ath9k_beacon_assign_slot()
204 if (sc->beacon.bslot[slot] == NULL) { ath9k_beacon_assign_slot()
210 sc->beacon.bslot[avp->av_bslot] = vif; ath9k_beacon_assign_slot()
213 ath_dbg(common, CONFIG, "Added interface at beacon slot: %d\n", ath9k_beacon_assign_slot()
222 struct ath_beacon_config *cur_conf = &sc->cur_chan->beacon; ath9k_beacon_remove_slot()
224 ath_dbg(common, CONFIG, "Removing interface at beacon slot: %d\n", ath9k_beacon_remove_slot()
241 sc->beacon.bslot[avp->av_bslot] = NULL; ath9k_beacon_remove_slot()
243 list_add_tail(&bf->list, &sc->beacon.bbuf); ath9k_beacon_remove_slot()
251 struct ath_beacon_config *cur_conf = &sc->cur_chan->beacon; ath9k_beacon_choose_slot()
280 struct ath_beacon_config *cur_conf = &avp->chanctx->beacon; ath9k_set_tsfadjust()
336 * Check if the previous beacon has gone out. If ath9k_beacon_tasklet()
342 if (ath9k_hw_numtxpending(ah, sc->beacon.beaconq) != 0) { ath9k_beacon_tasklet()
343 sc->beacon.bmisscnt++; ath9k_beacon_tasklet()
348 * If the previous beacon has not been transmitted ath9k_beacon_tasklet()
356 if (sc->beacon.bmisscnt < BSTUCK_THRESH * sc->nbcnvifs) { ath9k_beacon_tasklet()
359 sc->beacon.bmisscnt); ath9k_beacon_tasklet()
360 ath9k_hw_stop_dma_queue(ah, sc->beacon.beaconq); ath9k_beacon_tasklet()
361 if (sc->beacon.bmisscnt > 3) ath9k_beacon_tasklet()
363 } else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) { ath9k_beacon_tasklet()
364 ath_dbg(common, BSTUCK, "beacon is officially stuck\n"); ath9k_beacon_tasklet()
365 sc->beacon.bmisscnt = 0; ath9k_beacon_tasklet()
373 vif = sc->beacon.bslot[slot]; ath9k_beacon_tasklet()
395 if (sc->beacon.bmisscnt != 0) { ath9k_beacon_tasklet()
396 ath_dbg(common, BSTUCK, "resume beacon xmit after %u misses\n", ath9k_beacon_tasklet()
397 sc->beacon.bmisscnt); ath9k_beacon_tasklet()
398 sc->beacon.bmisscnt = 0; ath9k_beacon_tasklet()
404 * we mark updateslot, then wait one beacon before effecting ath9k_beacon_tasklet()
406 * beacon interval to note the state change. ath9k_beacon_tasklet()
412 * again. If we miss a beacon for that slot then we'll be ath9k_beacon_tasklet()
413 * slow to transition but we'll be sure at least one beacon ath9k_beacon_tasklet()
417 if (sc->beacon.updateslot == UPDATE) { ath9k_beacon_tasklet()
418 sc->beacon.updateslot = COMMIT; ath9k_beacon_tasklet()
419 sc->beacon.slotupdate = slot; ath9k_beacon_tasklet()
420 } else if (sc->beacon.updateslot == COMMIT && ath9k_beacon_tasklet()
421 sc->beacon.slotupdate == slot) { ath9k_beacon_tasklet()
422 ah->slottime = sc->beacon.slottime; ath9k_beacon_tasklet()
424 sc->beacon.updateslot = OK; ath9k_beacon_tasklet()
431 "Transmitting beacon for slot: %d\n", slot); ath9k_beacon_tasklet()
434 ath9k_hw_puttxbuf(ah, sc->beacon.beaconq, bf->bf_daddr); ath9k_beacon_tasklet()
437 ath9k_hw_txstart(ah, sc->beacon.beaconq); ath9k_beacon_tasklet()
454 sc->beacon.bmisscnt = 0; ath9k_beacon_init()
502 * Set the global 'beacon has been configured' flag for the ath9k_beacon_config_adhoc()
519 * beacon config for the VIF to be updated in this case and ath9k_allow_beacon_config()
552 struct ath_beacon_config *cur_conf = &ctx->beacon; ath9k_cache_beacon_config()
555 "Caching beacon data for BSS: %pM\n", bss_conf->bssid); ath9k_cache_beacon_config()
563 * It looks like mac80211 may end up using beacon interval of zero in ath9k_cache_beacon_config()
566 * do sanity check on beacon interval for all operating modes. ath9k_cache_beacon_config()
599 cur_conf = &avp->chanctx->beacon; ath9k_beacon_config()
636 * Configure the HW beacon registers only when we have a valid ath9k_beacon_config()
637 * beacon interval. ath9k_beacon_config()
669 struct ath_beacon_config *cur_conf = &sc->cur_chan->beacon; ath9k_set_beacon()
H A Dhtc_drv_beacon.c29 ath9k_hw_get_txq_props(ah, priv->beacon.beaconq, &qi); ath9k_htc_beaconq_config()
57 if (!ath9k_hw_set_txq_props(ah, priv->beacon.beaconq, &qi)) { ath9k_htc_beaconq_config()
59 "Unable to update beacon queue %u!\n", priv->beacon.beaconq); ath9k_htc_beaconq_config()
61 ath9k_hw_resettxqueue(ah, priv->beacon.beaconq); ath9k_htc_beaconq_config()
87 priv->beacon.bmisscnt = 0; ath9k_htc_beacon_init()
148 vif = priv->beacon.bslot[slot]; ath9k_htc_send_buffered()
201 struct sk_buff *beacon; ath9k_htc_send_beacon() local
209 vif = priv->beacon.bslot[slot]; ath9k_htc_send_beacon()
217 /* Get a new beacon */ ath9k_htc_send_beacon()
218 beacon = ieee80211_beacon_get(priv->hw, vif); ath9k_htc_send_beacon()
219 if (!beacon) { ath9k_htc_send_beacon()
226 * add this value for every beacon. ath9k_htc_send_beacon()
228 mgmt = (struct ieee80211_mgmt *)beacon->data; ath9k_htc_send_beacon()
229 mgmt->u.beacon.timestamp = avp->tsfadjust; ath9k_htc_send_beacon()
231 info = IEEE80211_SKB_CB(beacon); ath9k_htc_send_beacon()
234 (struct ieee80211_hdr *) beacon->data; ath9k_htc_send_beacon()
240 tx_ctl = HTC_SKB_CB(beacon); ath9k_htc_send_beacon()
247 tx_fhdr = skb_push(beacon, sizeof(beacon_hdr)); ath9k_htc_send_beacon()
250 ret = htc_send(priv->htc, beacon); ath9k_htc_send_beacon()
254 "Failed to send beacon, no free TX buffer\n"); ath9k_htc_send_beacon()
256 dev_kfree_skb_any(beacon); ath9k_htc_send_beacon()
292 priv->beacon.bmisscnt++; ath9k_htc_swba()
293 if (priv->beacon.bmisscnt > BSTUCK_THRESHOLD) { ath9k_htc_swba()
301 if (priv->beacon.bmisscnt) { ath9k_htc_swba()
303 "Resuming beacon xmit after %u misses\n", ath9k_htc_swba()
304 priv->beacon.bmisscnt); ath9k_htc_swba()
305 priv->beacon.bmisscnt = 0; ath9k_htc_swba()
310 if (priv->beacon.bslot[slot] == NULL) { ath9k_htc_swba()
329 if (priv->beacon.bslot[i] == NULL) { ath9k_htc_assign_bslot()
335 priv->beacon.bslot[avp->bslot] = vif; ath9k_htc_assign_bslot()
338 ath_dbg(common, CONFIG, "Added interface at beacon slot: %d\n", ath9k_htc_assign_bslot()
349 priv->beacon.bslot[avp->bslot] = NULL; ath9k_htc_remove_bslot()
352 ath_dbg(common, CONFIG, "Removed interface at beacon slot: %d\n", ath9k_htc_remove_bslot()
372 * The beacon interval cannot be different for multi-AP mode, ath9k_htc_set_tsfadjust()
402 * Changing the beacon interval when multiple AP interfaces ath9k_htc_check_beacon_config()
403 * are configured will affect beacon transmission of all ath9k_htc_check_beacon_config()
411 "Changing beacon interval of multiple AP interfaces !\n"); ath9k_htc_check_beacon_config()
417 * are added cannot change the beacon parameters. ath9k_htc_check_beacon_config()
422 "HW in AP mode, cannot set STA beacon parameters\n"); ath9k_htc_check_beacon_config()
427 * The beacon parameters are configured only for the first ath9k_htc_check_beacon_config()
H A DMakefile1 ath9k-y += beacon.o \
61 common-beacon.o \
H A Dcommon-beacon.c48 * This sets up the beacon timers according to the timestamp of the last
49 * received beacon and the current TSF, configures PCF and DTIM
51 * time to receive beacons, and configures the beacon miss handling so
63 /* No need to configure beacon if we are not associated */ ath9k_cmn_beacon_config_sta()
66 "STA is not yet associated..skipping beacon config\n"); ath9k_cmn_beacon_config_sta()
75 * last beacon we received (which may be none). ath9k_cmn_beacon_config_sta()
96 * need calculate based on the beacon interval. Note that we clamp the ath9k_cmn_beacon_config_sta()
107 * We ensure a multiple of the beacon period is used. Also, if the sleep ath9k_cmn_beacon_config_sta()
164 /* NB: the beacon interval is kept internally in TU's */ ath9k_cmn_beacon_config_ap()
H A Dchannel.c323 beacon_int = TU_TO_USEC(sc->cur_chan->beacon.beacon_interval); ath_chanctx_adjust_tbtt_delta()
339 * at half beacon interval offset relative to the STA chanctx. ath_chanctx_adjust_tbtt_delta()
375 * set during the previous beacon transmission, ath_chanctx_handle_bmiss()
385 * chanctx, stay on the STA channel for one extra beacon period, ath_chanctx_handle_bmiss()
510 "Contexts differ, not preparing beacon\n"); ath_chanctx_event()
558 ath_dbg(common, CHAN_CTX, "Preparing beacon for vif: %pM\n", vif->addr); ath_chanctx_event()
563 cur_conf = &sc->cur_chan->beacon; ath_chanctx_event()
566 /* defer channel switch by a quarter beacon interval */ ath_chanctx_event()
573 * a beacon transmission, update the NoA with one-shot ath_chanctx_event()
616 "No pending beacon\n"); ath_chanctx_event()
668 /* TSF time might have been updated by the incoming beacon, ath_chanctx_event()
697 * beacon period (minus channel switch time) ath_chanctx_event()
700 cur_conf = &sc->cur_chan->beacon; ath_chanctx_event()
1434 struct ath_beacon_config *cur_conf = &sc->cur_chan->beacon; ath9k_get_ctwin()
1439 * by a quarter beacon interval when handling ath9k_get_ctwin()
1492 u32 interval = TU_TO_USEC(sc->cur_chan->beacon.beacon_interval); ath9k_beacon_add_noa()
H A Dcommon.h25 #include "common-beacon.h"
H A Ddebug.h76 * @tim: RX beacon TIM occurrence
82 * from a beacon differs from the PCU's internal TSF by more than a
H A Dmain.c460 * beacon queue, so if a beacon has been transmitted ath9k_tasklet()
1104 cur_conf = &ctx->beacon; ath9k_calculate_summary_state()
1783 * See beacon.c for more details ath9k_bss_info_changed()
1785 sc->beacon.slottime = slottime; ath9k_bss_info_changed()
1786 sc->beacon.updateslot = UPDATE; ath9k_bss_info_changed()
2104 vif = sc->beacon.bslot[0]; ath9k_tx_last_beacon()
2113 if (!sc->beacon.tx_processed && !edma) { ath9k_tx_last_beacon()
2124 sc->beacon.tx_processed = true; ath9k_tx_last_beacon()
2125 sc->beacon.tx_last = !(ts.ts_status & ATH9K_TXERR_MASK); ath9k_tx_last_beacon()
2131 return sc->beacon.tx_last; ath9k_tx_last_beacon()
2537 cur_conf = &go_ctx->beacon; ath9k_mgd_prepare_tx()
H A Dath9k.h342 struct ath_beacon_config beacon; member in struct:ath_chanctx
656 * number of BSSIDs) if a given beacon does not go out even after waiting this
657 * number of beacon intervals, the game's up.
671 COMMIT /* beacon sent, commit change */
942 #define ATH_CABQ_READY_TIME 80 /* % of beacon interval */
999 struct ath_beacon beacon; member in struct:ath_softc
H A Drecv.c82 /* XXX block beacon interrupts */ ath_setdefantenna()
515 pos = mgmt->u.beacon.variable; ath_beacon_dtim_pending_cab()
552 "Reconfigure beacon timers based on synchronized timestamp\n"); ath_rx_ps_beacon()
562 !(WARN_ON_ONCE(sc->cur_chan->beacon.beacon_interval == 0))) ath_rx_ps_beacon()
572 * received properly, the next beacon frame will work as ath_rx_ps_beacon()
577 "Received DTIM beacon indicating buffered broadcast/multicast frame(s)\n"); ath_rx_ps_beacon()
H A Dxmit.c1499 * in HT IBSS when a beacon with HT-info is received after the station ath_tx_aggr_start()
1794 struct ath_beacon_config *cur_conf = &sc->cur_chan->beacon; ath_cabq_update()
1795 int qnum = sc->beacon.cabq->axq_qnum; ath_cabq_update()
2423 .txq = sc->beacon.cabq ath_tx_cabq()
2434 sc->cur_chan->beacon.beacon_interval * 1000 * ath_tx_cabq()
2435 sc->cur_chan->beacon.dtim_period / ATH_BCBUF; ath_tx_cabq()
2748 /* Process beacon completions separately */ ath_tx_edma_tasklet()
2749 if (ts.qid == sc->beacon.beaconq) { ath_tx_edma_tasklet()
2750 sc->beacon.tx_processed = true; ath_tx_edma_tasklet()
2751 sc->beacon.tx_last = !(ts.ts_status & ATH9K_TXERR_MASK); ath_tx_edma_tasklet()
2854 error = ath_descdma_setup(sc, &sc->beacon.bdma, &sc->beacon.bbuf, ath_tx_init()
2855 "beacon", ATH_BCBUF, 1, 1); ath_tx_init()
2858 "Failed to allocate beacon descriptors: %d\n", error); ath_tx_init()
H A Dinit.c352 sc->beacon.beaconq = ath9k_hw_beaconq_setup(sc->sc_ah); ath9k_init_queues()
353 sc->beacon.cabq = ath_txq_setup(sc, ATH9K_TX_QUEUE_CAB, 0); ath9k_init_queues()
375 sc->beacon.slottime = ATH9K_SLOT_TIME_9; ath9k_init_misc()
377 for (i = 0; i < ARRAY_SIZE(sc->beacon.bslot); i++) ath9k_init_misc()
378 sc->beacon.bslot[i] = NULL; ath9k_init_misc()
H A Dhtc.h408 COMMIT /* beacon sent, commit change */
496 struct htc_beacon beacon; member in struct:ath9k_htc_priv
H A Dhtc_drv_init.c550 priv->beacon.beaconq = ath9k_hw_beaconq_setup(priv->ah); ath9k_init_queues()
551 if (priv->beacon.beaconq == -1) { ath9k_init_queues()
676 priv->beacon.bslot[i] = NULL; ath9k_init_priv()
677 priv->beacon.slottime = ATH9K_SLOT_TIME_9; ath9k_init_priv()
H A Dwow.c249 * To avoid false wake, we enable beacon miss interrupt only ath9k_suspend()
/linux-4.1.27/drivers/uwb/
H A DMakefile9 beacon.o \
H A Dbeacon.c105 * @channel: UWB channel on which to beacon (WUSB[table
110 * of a SET IE command after the device sent the first beacon that includes
153 * when a new beacon arrives. The UWB Daemon uses it also to keep a
155 * device's beacon stays present for more than a certain amount of
156 * time, it is considered a new, usable device. When a beacon ceases
173 /* Find a beacon by dev addr in the cache */
188 /* Find a beacon by dev addr in the cache */
247 /* Initialize a beacon cache entry */ uwb_beca_e_init()
257 * Add a beacon to the cache
261 * @ts_jiffies: Timestamp (in jiffies) when the beacon was received
282 * Wipe out beacon entries that became stale
301 /* Clean up the whole beacon cache. Called on shutdown */ uwb_beca_release()
331 * @bce: beacon cache entry, referenced
359 * Verify that the beacon event, frame and IEs are ok
368 /* Is there enough data to decode a beacon frame? */ uwb_verify_beacon()
375 /* FIXME: make sure beacon frame IEs are fine and that the whole thing uwb_verify_beacon()
385 * We check the beacon cache to see how the received beacon fares. If
389 * According to the WHCI and WUSB specs, only one beacon frame is
440 /* purge old beacon data */ uwbd_evt_handle_rc_beacon()
454 * This might be a beacon from a new device. uwbd_evt_handle_rc_beacon()
502 * If the event indicates that no beacon period slots were available
504 * Otherwise, simply save the current beacon slot.
609 DEVICE_ATTR(beacon, S_IRUGO | S_IWUSR, uwb_rc_beacon_show, uwb_rc_beacon_store);
H A Ddriver.c64 * If a beacon disappears for longer than this, then we consider the
65 * device who was represented by that beacon to be gone.
68 * consider a device to be its neighbour if he doesn't receive a beacon
70 * ECMA-368[17.16] as 3; because we can get only one beacon per
H A Die.c100 * Get the IEs that a radio controller is sending in its beacon
267 * uwb_rc_ie_add - add new IEs to the radio controller's beacon
270 * the device's beacon.
274 * after the device sent the first beacon that includes the IEs specified
329 * beacon. We don't reallocate, we just mark the size smaller.
356 * uwb_rc_ie_rm - remove an IE from the radio controller's beacon
H A Duwb-internal.h84 * may scan for several superframes before joining an existing beacon
259 * Each beacon we received is kept in a cache--when we receive that
260 * beacon consistently, that means there is a new device that we have
269 * @jiffies_refresh: last time a beacon was received that refreshed
271 * @uwb_dev: device connected to this beacon. This pointer is not
274 * @hits: how many time we have seen this beacon since last time we
H A Dlc-dev.c143 * Calculated from the receive time of the device's beacon and it's
168 * We need to access the beacon cache, so we just lock it really
377 * This is called by the UWB Daemon (through the beacon purge function
404 * It will just create the freaking device, register the beacon and
431 /* plug the beacon cache */ uwbd_dev_onair()
H A Ddrp.c36 * Conflict in its beacon in the following superframe.
50 * ZERO in its beacon in the following superframe. If the
85 * @returns: >= 0 number of bytes still available in the beacon
89 * device to include in its beacon at the same time. We thus have to
98 * in beacon. This could be used to deny reservation requests earlier if
99 * determined that they would cause the beacon space to be exceeded.
794 * - UWB_DRP_NOTIF_CONFLICT: DRP IEs from any device in the beacon
H A Dlc-rc.c123 * Show the ASIE that is broadcast in the UWB beacon by this uwb_rc device.
158 * Update the ASIE that is broadcast in the UWB beacon by this uwb_rc device.
H A Dreset.c48 "beacon is too large",
52 "beacon size exceeded",
/linux-4.1.27/drivers/net/fddi/skfp/h/
H A Dfddi.h48 #define FC_BEACON 0xc2 /* MAC beacon frame */
56 #define BEACON_INFO 0 /* beacon type */
57 #define DBEACON_INFO 1 /* beacon type DIRECTED */
H A Dsmc.h113 u_char bn_flag ; /* flag : MAC reached beacon state */
290 #define RS_BEACON (1<<12) /* transmitted beacon */
388 u_long rmt_t_poll ; /* RMT : claim/beacon poller */
H A Dcmtdef.h247 #define RM_MY_BEACON 3 /* recvd my beacon MAC */
248 #define RM_OTHER_BEACON 4 /* recvd other beacon MAC */
262 #define RM_TIMEOUT_POLL 17 /* claim/beacon poller */
340 #define MA_DIRECTED 3 /* directed beacon */
H A Dsupern_2.h280 #define FM_EACB 0x22 /* r/w end addr of claim/beacon area */
290 #define FM_SABC 0x29 /* r/w start addr of beacon frame */
483 #define FM_SOTRBEC 0x0001 /* other beacon received */
484 #define FM_SMYBEC 0x0002 /* my beacon received */
485 #define FM_SBEC 0x0004 /* beacon state entered */
508 #define FM_STRTEXR 0x0002 /* TRT expired in claim | beacon st. */
665 #define FM_IBL 0x06 /* beacon/listen */
H A Dfplustm.h41 u_long err_bec_stat ; /* beacon state entered */
/linux-4.1.27/drivers/net/wireless/zd1211rw/
H A Dzd_mac.c145 struct sk_buff *beacon, bool in_intr);
372 struct sk_buff *beacon; zd_restore_settings() local
383 beacon_interval = mac->beacon.interval; zd_restore_settings()
384 beacon_period = mac->beacon.period; zd_restore_settings()
414 beacon = ieee80211_beacon_get(mac->hw, mac->vif); zd_restore_settings()
415 if (beacon) zd_restore_settings()
416 zd_mac_config_beacon(mac->hw, beacon, false); zd_restore_settings()
423 mac->beacon.last_update = jiffies; zd_restore_settings()
689 static bool zd_mac_match_cur_beacon(struct zd_mac *mac, struct sk_buff *beacon) zd_mac_match_cur_beacon() argument
691 if (!mac->beacon.cur_beacon) zd_mac_match_cur_beacon()
694 if (mac->beacon.cur_beacon->len != beacon->len) zd_mac_match_cur_beacon()
697 return !memcmp(beacon->data, mac->beacon.cur_beacon->data, beacon->len); zd_mac_match_cur_beacon()
704 kfree_skb(mac->beacon.cur_beacon); zd_mac_free_cur_beacon_locked()
705 mac->beacon.cur_beacon = NULL; zd_mac_free_cur_beacon_locked()
715 static int zd_mac_config_beacon(struct ieee80211_hw *hw, struct sk_buff *beacon, zd_mac_config_beacon() argument
722 u32 full_len = beacon->len + 4; zd_mac_config_beacon()
728 /* Check if hw already has this beacon. */ zd_mac_config_beacon()
729 if (zd_mac_match_cur_beacon(mac, beacon)) { zd_mac_config_beacon()
734 /* Alloc memory for full beacon write at once. */ zd_mac_config_beacon()
765 "Giving up beacon config.\n"); zd_mac_config_beacon()
782 for (j = 0 ; j < beacon->len; j++) { zd_mac_config_beacon()
784 ioreqs[req_pos].value = *((u8 *)(beacon->data + j)); zd_mac_config_beacon()
800 * Try very hard to release device beacon semaphore, as otherwise zd_mac_config_beacon()
822 /* We don't know if beacon was written successfully or not, zd_mac_config_beacon()
831 mac->beacon.cur_beacon = beacon; zd_mac_config_beacon()
832 beacon = NULL; zd_mac_config_beacon()
843 kfree_skb(beacon); zd_mac_config_beacon()
850 kfree_skb(beacon); zd_mac_config_beacon()
1165 struct sk_buff *skb, *beacon; zd_beacon_done() local
1183 * Fetch next beacon so that tim_count is updated. zd_beacon_done()
1185 beacon = ieee80211_beacon_get(mac->hw, mac->vif); zd_beacon_done()
1186 if (beacon) zd_beacon_done()
1187 zd_mac_config_beacon(mac->hw, beacon, true); zd_beacon_done()
1190 mac->beacon.last_update = jiffies; zd_beacon_done()
1308 struct sk_buff *beacon = ieee80211_beacon_get(hw, vif); zd_op_bss_info_changed() local
1310 if (beacon) { zd_op_bss_info_changed()
1312 zd_mac_config_beacon(hw, beacon, false); zd_op_bss_info_changed()
1327 mac->beacon.period = period; zd_op_bss_info_changed()
1328 mac->beacon.interval = interval; zd_op_bss_info_changed()
1329 mac->beacon.last_update = jiffies; zd_op_bss_info_changed()
1438 container_of(work, struct zd_mac, beacon.watchdog_work.work); beacon_watchdog_handler()
1439 struct sk_buff *beacon; beacon_watchdog_handler() local
1449 interval = mac->beacon.interval; beacon_watchdog_handler()
1450 period = mac->beacon.period; beacon_watchdog_handler()
1451 timeout = mac->beacon.last_update + beacon_watchdog_handler()
1456 dev_dbg_f(zd_mac_dev(mac), "beacon interrupt stalled, " beacon_watchdog_handler()
1463 beacon = ieee80211_beacon_get(mac->hw, mac->vif); beacon_watchdog_handler()
1464 if (beacon) { beacon_watchdog_handler()
1467 zd_mac_config_beacon(mac->hw, beacon, false); beacon_watchdog_handler()
1475 mac->beacon.last_update = jiffies; beacon_watchdog_handler()
1480 queue_delayed_work(zd_workqueue, &mac->beacon.watchdog_work, beacon_watchdog_handler()
1486 INIT_DELAYED_WORK(&mac->beacon.watchdog_work, beacon_watchdog_handler); beacon_init()
1493 mac->beacon.last_update = jiffies; beacon_enable()
1494 queue_delayed_work(zd_workqueue, &mac->beacon.watchdog_work, beacon_enable()
1501 cancel_delayed_work_sync(&mac->beacon.watchdog_work); beacon_disable()
H A Dzd_mac.h165 struct beacon { struct
188 struct beacon beacon; member in struct:zd_mac
/linux-4.1.27/drivers/staging/vt6655/
H A Dpower.c91 /* clear always listen beacon */ PSvEnablePowerSaving()
93 /* first time set listen next beacon */ PSvEnablePowerSaving()
96 /* always listen beacon */ PSvEnablePowerSaving()
131 /* set always listen beacon */ PSvDisablePowerSaving()
161 /* Turn on wake up to listen next beacon */ PSbIsNextTBTTWakeUp()
H A Drxtx.c31 * csBeacon_xmit - beacon tx function
1467 mgmt_hdr->u.beacon.timestamp = 0; vnt_beacon_xmit()
1496 struct sk_buff *beacon; vnt_beacon_make() local
1498 beacon = ieee80211_beacon_get(priv->hw, vif); vnt_beacon_make()
1499 if (!beacon) vnt_beacon_make()
1502 if (vnt_beacon_xmit(priv, beacon)) { vnt_beacon_make()
1503 ieee80211_free_txskb(priv->hw, beacon); vnt_beacon_make()
/linux-4.1.27/drivers/staging/vt6656/
H A Dpower.c83 /* clear always listen beacon */ vnt_enable_power_saving()
86 /* first time set listen next beacon */ vnt_enable_power_saving()
90 /* always listen beacon */ vnt_enable_power_saving()
117 /* set always listen beacon */ vnt_disable_power_saving()
138 /* Turn on wake up to listen next beacon */ vnt_next_tbtt_wakeup()
H A Drxtx.c1047 mgmt_hdr->u.beacon.timestamp = 0; vnt_beacon_xmit()
1082 struct sk_buff *beacon; vnt_beacon_make() local
1084 beacon = ieee80211_beacon_get(priv->hw, vif); vnt_beacon_make()
1085 if (!beacon) vnt_beacon_make()
1088 if (vnt_beacon_xmit(priv, beacon)) { vnt_beacon_make()
1089 ieee80211_free_txskb(priv->hw, beacon); vnt_beacon_make()
/linux-4.1.27/drivers/net/wireless/ti/wl1251/
H A Drx.c49 u8 beacon) wl1251_rx_status()
67 if ((wl->bss_type == BSS_TYPE_IBSS) && beacon) { wl1251_rx_status()
152 u8 *rx_buffer, beacon = 0; wl1251_rx_body() local
188 beacon = 1; wl1251_rx_body()
190 wl1251_rx_status(wl, desc, &status, beacon); wl1251_rx_body()
193 beacon ? "beacon" : ""); wl1251_rx_body()
46 wl1251_rx_status(struct wl1251 *wl, struct wl1251_rx_descriptor *desc, struct ieee80211_rx_status *status, u8 beacon) wl1251_rx_status() argument
H A Dps.c114 /* enable beacon filtering */ wl1251_ps_set_mode()
163 /* disable beacon filtering */ wl1251_ps_set_mode()
H A Dmain.c1104 struct sk_buff *beacon, *skb; wl1251_op_bss_info_changed() local
1211 beacon = ieee80211_beacon_get(hw, vif); wl1251_op_bss_info_changed()
1212 if (!beacon) wl1251_op_bss_info_changed()
1215 ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data, wl1251_op_bss_info_changed()
1216 beacon->len); wl1251_op_bss_info_changed()
1219 dev_kfree_skb(beacon); wl1251_op_bss_info_changed()
1223 ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, beacon->data, wl1251_op_bss_info_changed()
1224 beacon->len); wl1251_op_bss_info_changed()
1226 dev_kfree_skb(beacon); wl1251_op_bss_info_changed()
H A Dacx.c468 wl1251_debug(DEBUG_ACX, "acx beacon filter opt"); wl1251_acx_beacon_filter_opt()
480 wl1251_warning("failed to set beacon filter opt: %d", ret); wl1251_acx_beacon_filter_opt()
495 wl1251_debug(DEBUG_ACX, "acx beacon filter table"); wl1251_acx_beacon_filter_table()
501 /* configure default beacon pass-through rules */ wl1251_acx_beacon_filter_table()
509 wl1251_warning("failed to set beacon filter table: %d", ret); wl1251_acx_beacon_filter_table()
H A Dacx.h212 * 10 SSID Filter Enable - When set, the WiLink discards all beacon,
252 * 9 Beacon - When set, the WiLink receives all beacon frames.
980 /* the amount of missing beacon interrupts to the host */
1019 * cont_miss_bcns_spread[0] - single missed beacon.
1219 * Specifies if beacon early termination procedure is enabled or
1227 * beacon must be correctly received in FW before beacon ET
H A Dinit.c149 /* disable beacon filtering at this stage */ wl1251_hw_init_beacon_filter()
/linux-4.1.27/drivers/net/wireless/rtl818x/rtl8180/
H A Drtl8180.h27 /* rtl8180/rtl8185 have 3 queue + beacon queue.
28 * mac80211 can use just one, + beacon = 2 tot.
32 /* rtl8187SE have 6 queues + beacon queues
33 * mac80211 can use 4 QoS data queue, + beacon = 5 tot
H A Ddev.c1290 /* grab a fresh beacon */ rtl8180_beacon_work()
1296 * update beacon timestamp w/ TSF value rtl8180_beacon_work()
1297 * TODO: make hardware update beacon timestamp rtl8180_beacon_work()
1300 mgmt->u.beacon.timestamp = cpu_to_le64(rtl8180_get_tsf(dev, vif)); rtl8180_beacon_work()
1302 /* TODO: use actual beacon queue */ rtl8180_beacon_work()
1309 * schedule next beacon rtl8180_beacon_work()
1310 * TODO: use hardware support for beacon timing rtl8180_beacon_work()
1853 /* we declare to MAC80211 all the queues except for beacon queue rtl8180_probe()
1857 * with mac80211, however the beacon queue is an exception and it rtl8180_probe()
/linux-4.1.27/net/mac80211/
H A Dtx.c396 * the frame is buffered to be sent after DTIM beacon frame. ieee80211_tx_h_multicast_ps_buf()
430 /* device releases frame after DTIM beacon */ ieee80211_tx_h_multicast_ps_buf()
2667 struct beacon_data *beacon) ieee80211_set_csa()
2673 u8 count = beacon->csa_current_counter; ieee80211_set_csa()
2677 beacon_data = beacon->tail; ieee80211_set_csa()
2678 beacon_data_len = beacon->tail_len; ieee80211_set_csa()
2681 beacon_data = beacon->head; ieee80211_set_csa()
2682 beacon_data_len = beacon->head_len; ieee80211_set_csa()
2685 beacon_data = beacon->head; ieee80211_set_csa()
2686 beacon_data_len = beacon->head_len; ieee80211_set_csa()
2696 if (beacon->csa_counter_offsets[i]) { ieee80211_set_csa()
2697 if (WARN_ON_ONCE(beacon->csa_counter_offsets[i] >= ieee80211_set_csa()
2703 beacon_data[beacon->csa_counter_offsets[i]] = count; ieee80211_set_csa()
2715 struct beacon_data *beacon = NULL; ieee80211_csa_update_counter() local
2721 beacon = rcu_dereference(sdata->u.ap.beacon); ieee80211_csa_update_counter()
2723 beacon = rcu_dereference(sdata->u.ibss.presp); ieee80211_csa_update_counter()
2725 beacon = rcu_dereference(sdata->u.mesh.beacon); ieee80211_csa_update_counter()
2727 if (!beacon) ieee80211_csa_update_counter()
2730 beacon->csa_current_counter--; ieee80211_csa_update_counter()
2733 WARN_ON_ONCE(!beacon->csa_current_counter); ieee80211_csa_update_counter()
2734 count = beacon->csa_current_counter; ieee80211_csa_update_counter()
2745 struct beacon_data *beacon = NULL; ieee80211_csa_is_complete() local
2757 beacon = rcu_dereference(ap->beacon); ieee80211_csa_is_complete()
2758 if (WARN_ON(!beacon || !beacon->tail)) ieee80211_csa_is_complete()
2760 beacon_data = beacon->tail; ieee80211_csa_is_complete()
2761 beacon_data_len = beacon->tail_len; ieee80211_csa_is_complete()
2765 beacon = rcu_dereference(ifibss->presp); ieee80211_csa_is_complete()
2766 if (!beacon) ieee80211_csa_is_complete()
2769 beacon_data = beacon->head; ieee80211_csa_is_complete()
2770 beacon_data_len = beacon->head_len; ieee80211_csa_is_complete()
2774 beacon = rcu_dereference(ifmsh->beacon); ieee80211_csa_is_complete()
2775 if (!beacon) ieee80211_csa_is_complete()
2778 beacon_data = beacon->head; ieee80211_csa_is_complete()
2779 beacon_data_len = beacon->head_len; ieee80211_csa_is_complete()
2785 if (!beacon->csa_counter_offsets[0]) ieee80211_csa_is_complete()
2788 if (WARN_ON_ONCE(beacon->csa_counter_offsets[0] > beacon_data_len)) ieee80211_csa_is_complete()
2791 if (beacon_data[beacon->csa_counter_offsets[0]] == 1) ieee80211_csa_is_complete()
2807 struct beacon_data *beacon = NULL; __ieee80211_beacon_get() local
2830 beacon = rcu_dereference(ap->beacon); __ieee80211_beacon_get()
2831 if (beacon) { __ieee80211_beacon_get()
2832 if (beacon->csa_counter_offsets[0]) { __ieee80211_beacon_get()
2836 ieee80211_set_csa(sdata, beacon); __ieee80211_beacon_get()
2844 beacon->head_len + __ieee80211_beacon_get()
2845 beacon->tail_len + 256 + __ieee80211_beacon_get()
2851 memcpy(skb_put(skb, beacon->head_len), beacon->head, __ieee80211_beacon_get()
2852 beacon->head_len); __ieee80211_beacon_get()
2858 offs->tim_offset = beacon->head_len; __ieee80211_beacon_get()
2859 offs->tim_length = skb->len - beacon->head_len; __ieee80211_beacon_get()
2865 if (beacon->tail) __ieee80211_beacon_get()
2866 memcpy(skb_put(skb, beacon->tail_len), __ieee80211_beacon_get()
2867 beacon->tail, beacon->tail_len); __ieee80211_beacon_get()
2874 beacon = rcu_dereference(ifibss->presp); __ieee80211_beacon_get()
2875 if (!beacon) __ieee80211_beacon_get()
2878 if (beacon->csa_counter_offsets[0]) { __ieee80211_beacon_get()
2882 ieee80211_set_csa(sdata, beacon); __ieee80211_beacon_get()
2885 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + __ieee80211_beacon_get()
2890 memcpy(skb_put(skb, beacon->head_len), beacon->head, __ieee80211_beacon_get()
2891 beacon->head_len); __ieee80211_beacon_get()
2899 beacon = rcu_dereference(ifmsh->beacon); __ieee80211_beacon_get()
2900 if (!beacon) __ieee80211_beacon_get()
2903 if (beacon->csa_counter_offsets[0]) { __ieee80211_beacon_get()
2912 ieee80211_set_csa(sdata, beacon); __ieee80211_beacon_get()
2916 ifmsh->sync_ops->adjust_tbtt(sdata, beacon); __ieee80211_beacon_get()
2919 beacon->head_len + __ieee80211_beacon_get()
2921 beacon->tail_len + __ieee80211_beacon_get()
2926 memcpy(skb_put(skb, beacon->head_len), beacon->head, __ieee80211_beacon_get()
2927 beacon->head_len); __ieee80211_beacon_get()
2931 offs->tim_offset = beacon->head_len; __ieee80211_beacon_get()
2932 offs->tim_length = skb->len - beacon->head_len; __ieee80211_beacon_get()
2935 memcpy(skb_put(skb, beacon->tail_len), beacon->tail, __ieee80211_beacon_get()
2936 beacon->tail_len); __ieee80211_beacon_get()
2943 if (offs && beacon) { __ieee80211_beacon_get()
2947 u16 csa_off = beacon->csa_counter_offsets[i]; __ieee80211_beacon_get()
3214 struct beacon_data *beacon = ieee80211_get_buffered_bc() local
3215 rcu_dereference(sdata->u.ap.beacon); ieee80211_get_buffered_bc()
3217 if (!beacon || !beacon->head) ieee80211_get_buffered_bc()
3228 goto out; /* send buffered bc/mc only after DTIM beacon */ ieee80211_get_buffered_bc()
2666 ieee80211_set_csa(struct ieee80211_sub_if_data *sdata, struct beacon_data *beacon) ieee80211_set_csa() argument
H A Dcfg.c637 old = sdata_dereference(sdata->u.ap.beacon, sdata); ieee80211_assign_beacon()
640 /* Need to have a beacon head if we don't have one yet */ ieee80211_assign_beacon()
701 rcu_assign_pointer(sdata->u.ap.beacon, new); ieee80211_assign_beacon()
724 old = sdata_dereference(sdata->u.ap.beacon, sdata); ieee80211_start_ap()
792 err = ieee80211_assign_beacon(sdata, &params->beacon, NULL); ieee80211_start_ap()
801 old = sdata_dereference(sdata->u.ap.beacon, sdata); ieee80211_start_ap()
805 RCU_INIT_POINTER(sdata->u.ap.beacon, NULL); ieee80211_start_ap()
830 /* don't allow changing the beacon while CSA is in place - offset ieee80211_change_beacon()
836 old = sdata_dereference(sdata->u.ap.beacon, sdata); ieee80211_change_beacon()
858 old_beacon = sdata_dereference(sdata->u.ap.beacon, sdata); ieee80211_stop_ap()
882 /* remove beacon and probe response */ ieee80211_stop_ap()
883 RCU_INIT_POINTER(sdata->u.ap.beacon, NULL); ieee80211_stop_ap()
1846 if (!sdata_dereference(sdata->u.ap.beacon, sdata)) ieee80211_change_bss()
2003 if (sdata->u.ap.beacon && ieee80211_scan()
2811 cfg80211_beacon_dup(struct cfg80211_beacon_data *beacon) cfg80211_beacon_dup() argument
2817 len = beacon->head_len + beacon->tail_len + beacon->beacon_ies_len + cfg80211_beacon_dup()
2818 beacon->proberesp_ies_len + beacon->assocresp_ies_len + cfg80211_beacon_dup()
2819 beacon->probe_resp_len; cfg80211_beacon_dup()
2826 if (beacon->head_len) { cfg80211_beacon_dup()
2827 new_beacon->head_len = beacon->head_len; cfg80211_beacon_dup()
2829 memcpy(pos, beacon->head, beacon->head_len); cfg80211_beacon_dup()
2830 pos += beacon->head_len; cfg80211_beacon_dup()
2832 if (beacon->tail_len) { cfg80211_beacon_dup()
2833 new_beacon->tail_len = beacon->tail_len; cfg80211_beacon_dup()
2835 memcpy(pos, beacon->tail, beacon->tail_len); cfg80211_beacon_dup()
2836 pos += beacon->tail_len; cfg80211_beacon_dup()
2838 if (beacon->beacon_ies_len) { cfg80211_beacon_dup()
2839 new_beacon->beacon_ies_len = beacon->beacon_ies_len; cfg80211_beacon_dup()
2841 memcpy(pos, beacon->beacon_ies, beacon->beacon_ies_len); cfg80211_beacon_dup()
2842 pos += beacon->beacon_ies_len; cfg80211_beacon_dup()
2844 if (beacon->proberesp_ies_len) { cfg80211_beacon_dup()
2845 new_beacon->proberesp_ies_len = beacon->proberesp_ies_len; cfg80211_beacon_dup()
2847 memcpy(pos, beacon->proberesp_ies, beacon->proberesp_ies_len); cfg80211_beacon_dup()
2848 pos += beacon->proberesp_ies_len; cfg80211_beacon_dup()
2850 if (beacon->assocresp_ies_len) { cfg80211_beacon_dup()
2851 new_beacon->assocresp_ies_len = beacon->assocresp_ies_len; cfg80211_beacon_dup()
2853 memcpy(pos, beacon->assocresp_ies, beacon->assocresp_ies_len); cfg80211_beacon_dup()
2854 pos += beacon->assocresp_ies_len; cfg80211_beacon_dup()
2856 if (beacon->probe_resp_len) { cfg80211_beacon_dup()
2857 new_beacon->probe_resp_len = beacon->probe_resp_len; cfg80211_beacon_dup()
2858 beacon->probe_resp = pos; cfg80211_beacon_dup()
2859 memcpy(pos, beacon->probe_resp, beacon->probe_resp_len); cfg80211_beacon_dup()
2860 pos += beacon->probe_resp_len; cfg80211_beacon_dup()
3224 /* if the beacon didn't change, we can finalize immediately */ __ieee80211_channel_switch()
3287 !rcu_access_pointer(sdata->bss->beacon)) ieee80211_mgmt_tx()
3363 struct beacon_data *beacon = NULL; ieee80211_mgmt_tx() local
3368 beacon = rcu_dereference(sdata->u.ap.beacon); ieee80211_mgmt_tx()
3370 beacon = rcu_dereference(sdata->u.ibss.presp); ieee80211_mgmt_tx()
3372 beacon = rcu_dereference(sdata->u.mesh.beacon); ieee80211_mgmt_tx()
3374 if (beacon) ieee80211_mgmt_tx()
3377 beacon->csa_current_counter; ieee80211_mgmt_tx()
H A Dmesh.c120 * Returns: beacon changed flag if the beacon content changed.
131 * from new peers, and that must be reflected in the beacon mesh_accept_plinks_update()
155 * case the beacon is still generated by the kernel and we might need mesh_sta_cleanup()
621 int hdr_len = offsetof(struct ieee80211_mgmt, u.beacon) + ieee80211_mesh_build_beacon()
622 sizeof(mgmt->u.beacon); ieee80211_mesh_build_beacon()
668 mgmt->u.beacon.beacon_int = ieee80211_mesh_build_beacon()
670 mgmt->u.beacon.capab_info |= cpu_to_le16( ieee80211_mesh_build_beacon()
734 rcu_assign_pointer(ifmsh->beacon, bcn); ieee80211_mesh_build_beacon()
748 old_bcn = rcu_dereference_protected(sdata->u.mesh.beacon, ieee80211_mesh_rebuild_beacon()
752 /* just reuse old beacon */ ieee80211_mesh_rebuild_beacon()
826 /* stop the beacon */ ieee80211_stop_mesh()
831 bcn = rcu_dereference_protected(ifmsh->beacon, ieee80211_stop_mesh()
833 RCU_INIT_POINTER(ifmsh->beacon, NULL); ieee80211_stop_mesh()
859 struct ieee802_11_elems *elems, bool beacon) ieee80211_mesh_process_chnswitch()
929 if (beacon) { ieee80211_mesh_process_chnswitch()
983 bcn = rcu_dereference(ifmsh->beacon); ieee80211_mesh_rx_probe_req()
1071 /* Remove the CSA and MCSP elements from the beacon */ ieee80211_mesh_finish_csa()
1335 RCU_INIT_POINTER(ifmsh->beacon, NULL); ieee80211_mesh_init_sdata()
858 ieee80211_mesh_process_chnswitch(struct ieee80211_sub_if_data *sdata, struct ieee802_11_elems *elems, bool beacon) ieee80211_mesh_process_chnswitch() argument
H A Dmesh_sync.c129 t_t = le64_to_cpu(mgmt->u.beacon.timestamp); mesh_sync_offset_rx_bcn_presp()
168 struct beacon_data *beacon) mesh_sync_offset_adjust_tbtt()
175 cap = beacon->meshconf->meshconf_cap; mesh_sync_offset_adjust_tbtt()
201 beacon->meshconf->meshconf_cap = ifmsh->adjusting_tbtt ? mesh_sync_offset_adjust_tbtt()
167 mesh_sync_offset_adjust_tbtt(struct ieee80211_sub_if_data *sdata, struct beacon_data *beacon) mesh_sync_offset_adjust_tbtt() argument
H A Dibss.c59 12 /* struct ieee80211_mgmt.u.beacon */ + ieee80211_ibss_build_presp()
81 mgmt->u.beacon.beacon_int = cpu_to_le16(beacon_int); ieee80211_ibss_build_presp()
82 mgmt->u.beacon.timestamp = cpu_to_le64(tsf); ieee80211_ibss_build_presp()
83 mgmt->u.beacon.capab_info = cpu_to_le16(capability); ieee80211_ibss_build_presp()
85 pos = (u8 *)mgmt + offsetof(struct ieee80211_mgmt, u.beacon.variable); ieee80211_ibss_build_presp()
559 /* generate the beacon */ ieee80211_ibss_finish_csa()
727 /* remove beacon */ ieee80211_ibss_disconnect()
780 bool beacon) ieee80211_ibss_process_chanswitch()
831 * within the beacon while doing CSA and we should therefore ieee80211_ibss_process_chanswitch()
1023 "updated supp_rates set for %pM based on beacon/probe_resp (0x%x -> 0x%x)\n", ieee80211_update_sta_info()
1123 /* same for beacon and probe response */ ieee80211_rx_bss_info()
1124 beacon_timestamp = le64_to_cpu(mgmt->u.beacon.timestamp); ieee80211_rx_bss_info()
1170 "RX beacon SA=%pM BSSID=%pM TSF=0x%llx BCN=0x%llx diff=%lld @%lu\n", ieee80211_rx_bss_info()
1179 "beacon TSF higher than local TSF - IBSS merge with BSSID %pM\n", ieee80211_rx_bss_info()
1578 offsetof(typeof(mgmt->u.beacon), variable)); ieee80211_rx_mgmt_probe_beacon()
1581 * either beacon or probe_resp but the variable field is at the ieee80211_rx_mgmt_probe_beacon()
1846 /* remove beacon */ ieee80211_ibss_leave()
778 ieee80211_ibss_process_chanswitch(struct ieee80211_sub_if_data *sdata, struct ieee802_11_elems *elems, bool beacon) ieee80211_ibss_process_chanswitch() argument
H A Dmlme.c56 * advertised beacon interval. This may need to be somewhat
59 * probe on beacon miss before declaring the connection lost
65 "Number of beacon intervals before we decide beacon was lost.");
74 * a probe request because of beacon loss or for
193 * since we look at probe response/beacon data here ieee80211_determine_chantype()
316 * tracking the APs beacon for bandwidth changes - otherwise we ieee80211_determine_chantype()
1105 bool beacon) ieee80211_sta_process_chanswitch()
2261 bool beacon) ieee80211_mgd_probe_ap()
2281 if (beacon) { ieee80211_mgd_probe_ap()
2283 "detected beacon loss from AP (missed %d beacons) - probing\n", ieee80211_mgd_probe_ap()
2872 * from the beacon or probe response. This seems to afflict mobile ieee80211_assoc_success()
2933 * We previously checked these in the beacon/probe response, so ieee80211_assoc_success()
2978 * configuration. If it changed since the last beacon, we'll get the ieee80211_assoc_success()
2979 * next beacon and update then. ieee80211_assoc_success()
3053 * Also start the timer that will detect beacon loss. ieee80211_assoc_success()
3233 * We implement beacon filtering in software since that means we can
3271 /* Process beacon from the current BSS */ ieee80211_rx_mgmt_beacon()
3272 baselen = (u8 *) mgmt->u.beacon.variable - (u8 *) mgmt; ieee80211_rx_mgmt_beacon()
3292 ieee802_11_parse_elems(mgmt->u.beacon.variable, ieee80211_rx_mgmt_beacon()
3304 le64_to_cpu(mgmt->u.beacon.timestamp); ieee80211_rx_mgmt_beacon()
3393 "cancelling AP probe due to a received beacon\n"); ieee80211_rx_mgmt_beacon()
3398 * Push the beacon loss detection into the future since ieee80211_rx_mgmt_beacon()
3399 * we are processing a beacon from the AP just now. ieee80211_rx_mgmt_beacon()
3403 ncrc = crc32_be(0, (void *)&mgmt->u.beacon.beacon_int, 4); ieee80211_rx_mgmt_beacon()
3404 ncrc = ieee802_11_parse_elems_crc(mgmt->u.beacon.variable, ieee80211_rx_mgmt_beacon()
3440 ret = cfg80211_get_p2p_attr(mgmt->u.beacon.variable, ieee80211_rx_mgmt_beacon()
3469 * Update beacon timing and dtim count on every beacon appearance. This ieee80211_rx_mgmt_beacon()
3471 * comparing this one with last received beacon. ieee80211_rx_mgmt_beacon()
3478 le64_to_cpu(mgmt->u.beacon.timestamp); ieee80211_rx_mgmt_beacon()
3505 * If we haven't had a beacon before, tell the driver about the ieee80211_rx_mgmt_beacon()
3506 * DTIM period (and beacon timing if desired) now. ieee80211_rx_mgmt_beacon()
3532 le16_to_cpu(mgmt->u.beacon.capab_info), ieee80211_rx_mgmt_beacon()
4423 /* must be non-NULL since beacon IEs were NULL */ ieee80211_prep_connection()
4858 * Wait up to one beacon interval ... ieee80211_mgd_assoc()
4861 sdata_info(sdata, "waiting for beacon from %pM\n", ieee80211_mgd_assoc()
4901 corrupt_type = "beacon and probe response"; ieee80211_mgd_assoc()
4903 corrupt_type = "beacon"; ieee80211_mgd_assoc()
1102 ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata, u64 timestamp, u32 device_timestamp, struct ieee802_11_elems *elems, bool beacon) ieee80211_sta_process_chanswitch() argument
2260 ieee80211_mgd_probe_ap(struct ieee80211_sub_if_data *sdata, bool beacon) ieee80211_mgd_probe_ap() argument
H A Dscan.c66 bool beacon = ieee80211_is_beacon(mgmt->frame_control); ieee80211_bss_info_update() local
92 if (beacon) ieee80211_bss_info_update()
98 if (beacon) ieee80211_bss_info_update()
103 if (beacon) ieee80211_bss_info_update()
152 if (beacon) { ieee80211_bss_info_update()
207 baselen = offsetof(struct ieee80211_mgmt, u.beacon.variable); ieee80211_scan_rx()
208 elements = mgmt->u.beacon.variable; ieee80211_scan_rx()
673 * and grab the lowest used beacon interval ieee80211_scan_state_decision()
H A Dmesh_ps.c78 * Return BSS_CHANGED_BEACON if a beacon update is necessary.
149 * Return BSS_CHANGED_BEACON if a beacon update is in order.
567 * @elems: IEs of beacon or probe response
/linux-4.1.27/drivers/staging/rtl8723au/hal/
H A Drtl8723a_cmd.c212 &mgmt->u.beacon.beacon_int); ConstructBeacon()
215 &mgmt->u.beacon.capab_info); ConstructBeacon()
217 pframe = mgmt->u.beacon.variable; ConstructBeacon()
218 pktlen = offsetof(struct ieee80211_mgmt, u.beacon.variable); ConstructBeacon()
267 DBG_8723A("beacon frame too large\n"); ConstructBeacon()
427 /* true: At the second time, we should send the first packet (default:beacon) */
428 /* to Hw again and set the lengh in descriptor to the real beacon lengh. */
462 /* 3 (1) beacon */ SetFwRsvdPagePkt()
469 /* To reserved 2 pages for beacon buffer. 2010.06.24. */ SetFwRsvdPagePkt()
581 /* Do not set TSF again here or vWiFi beacon DMA INT will not work. */ rtl8723a_set_FwJoinBssReport_cmd()
592 /* Disable Hw protection for a time which revserd for Hw sending beacon. */ rtl8723a_set_FwJoinBssReport_cmd()
599 /* Set FWHW_TXQ_CTRL 0x422[6]= 0 to tell Hw the packet is not a real beacon frame. */ rtl8723a_set_FwJoinBssReport_cmd()
603 /* To tell Hw the packet is not a real beacon frame. */ rtl8723a_set_FwJoinBssReport_cmd()
613 /* To make sure that if there exists an adapter which would like to send beacon. */ rtl8723a_set_FwJoinBssReport_cmd()
616 /* the beacon cannot be sent by HW. */ rtl8723a_set_FwJoinBssReport_cmd()
624 /* Clear CR[8] or beacon packet will not be send to TxBuf anymore. */ rtl8723a_set_FwJoinBssReport_cmd()
669 /* 3 (1) beacon */ SetFwRsvdPagePkt_BTCoex()
735 /* Set FWHW_TXQ_CTRL 0x422[6]= 0 to tell Hw the packet is not a real beacon frame. */ rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd()
739 /* To tell Hw the packet is not a real beacon frame. */ rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd()
745 /* To make sure that if there exists an adapter which would like to send beacon. */ rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd()
748 /* the beacon cannot be sent by HW. */ rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd()
H A Drtl8723au_xmit.c258 /* (2) Enable HW SEQ control for beacon packet, because we use Hw beacon. */ update_txdesc()
/linux-4.1.27/drivers/net/wireless/iwlwifi/mvm/
H A Dmac-ctxt.c126 * is an AP, and the beacon interval of the AP is a multiple or iwl_mvm_mac_tsf_id_iter()
127 * divisor of the beacon interval of the client, the same TSF iwl_mvm_mac_tsf_id_iter()
152 * The new interface is AP/GO, so if its beacon interval is a iwl_mvm_mac_tsf_id_iter()
153 * multiple or a divisor of the beacon interval of an existing iwl_mvm_mac_tsf_id_iter()
787 * more beacon intervals happen until the DTIM TBTT. Therefore iwl_mvm_mac_ctxt_cmd_sta()
879 /* TODO: Assumes that the beacon id == mac context id */ iwl_mvm_mac_ctxt_cmd_ibss()
933 u8 *beacon, u32 frame_size) iwl_mvm_mac_ctxt_set_tim()
936 struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)beacon; iwl_mvm_mac_ctxt_set_tim()
939 * variable-length part of the beacon. */ iwl_mvm_mac_ctxt_set_tim()
940 tim_idx = mgmt->u.beacon.variable - beacon; iwl_mvm_mac_ctxt_set_tim()
942 /* Parse variable-length elements of beacon to find WLAN_EID_TIM */ iwl_mvm_mac_ctxt_set_tim()
944 (beacon[tim_idx] != WLAN_EID_TIM)) iwl_mvm_mac_ctxt_set_tim()
945 tim_idx += beacon[tim_idx+1] + 2; iwl_mvm_mac_ctxt_set_tim()
948 if ((tim_idx < (frame_size - 1)) && (beacon[tim_idx] == WLAN_EID_TIM)) { iwl_mvm_mac_ctxt_set_tim()
950 beacon_cmd->tim_size = cpu_to_le32((u32)beacon[tim_idx+1]); iwl_mvm_mac_ctxt_set_tim()
952 IWL_WARN(mvm, "Unable to find TIM Element in beacon\n"); iwl_mvm_mac_ctxt_set_tim()
958 struct sk_buff *beacon) iwl_mvm_mac_ctxt_send_beacon()
970 if (WARN_ON(!beacon)) iwl_mvm_mac_ctxt_send_beacon()
973 beacon_skb_len = beacon->len; iwl_mvm_mac_ctxt_send_beacon()
975 /* TODO: for now the beacon template id is set to be the mac context id. iwl_mvm_mac_ctxt_send_beacon()
978 info = IEEE80211_SKB_CB(beacon); iwl_mvm_mac_ctxt_send_beacon()
986 iwl_mvm_bt_coex_tx_prio(mvm, (void *)beacon->data, info, 0) << iwl_mvm_mac_ctxt_send_beacon()
1007 /* Set up TX beacon command fields */ iwl_mvm_mac_ctxt_send_beacon()
1010 beacon->data, iwl_mvm_mac_ctxt_send_beacon()
1018 cmd.data[1] = beacon->data; iwl_mvm_mac_ctxt_send_beacon()
1024 /* The beacon template for the AP/GO/IBSS has changed and needs update */ iwl_mvm_mac_ctxt_beacon_changed()
1028 struct sk_buff *beacon; iwl_mvm_mac_ctxt_beacon_changed() local
1034 beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL); iwl_mvm_mac_ctxt_beacon_changed()
1035 if (!beacon) iwl_mvm_mac_ctxt_beacon_changed()
1038 ret = iwl_mvm_mac_ctxt_send_beacon(mvm, vif, beacon); iwl_mvm_mac_ctxt_beacon_changed()
1039 dev_kfree_skb(beacon); iwl_mvm_mac_ctxt_beacon_changed()
1094 * Only set the beacon time when the MAC is being added, when we iwl_mvm_mac_ctxt_cmd_fill_ap()
1123 /* TODO: Assume that the beacon id == mac context id */ iwl_mvm_mac_ctxt_cmd_fill_ap()
1285 /* Don't start to countdown from a failed beacon */ iwl_mvm_csa_count_down()
1320 struct iwl_extended_beacon_notif *beacon = (void *)pkt->data; iwl_mvm_rx_beacon_notif() local
1328 beacon_notify_hdr = &beacon->beacon_notify_hdr; iwl_mvm_rx_beacon_notif()
1329 mvm->ap_last_beacon_gp2 = le32_to_cpu(beacon->gp2); iwl_mvm_rx_beacon_notif()
1333 "beacon status %#x retries:%d tsf:0x%16llX gp2:0x%X rate:%d\n", iwl_mvm_rx_beacon_notif()
1335 le64_to_cpu(beacon->tsf), iwl_mvm_rx_beacon_notif()
1353 * stations. If this is the first beacon (the timeout wasn't iwl_mvm_rx_beacon_notif()
931 iwl_mvm_mac_ctxt_set_tim(struct iwl_mvm *mvm, struct iwl_mac_beacon_cmd *beacon_cmd, u8 *beacon, u32 frame_size) iwl_mvm_mac_ctxt_set_tim() argument
956 iwl_mvm_mac_ctxt_send_beacon(struct iwl_mvm *mvm, struct ieee80211_vif *vif, struct sk_buff *beacon) iwl_mvm_mac_ctxt_send_beacon() argument
H A Dfw-api-power.h338 * @bf_energy_delta: Used for RSSI filtering, if in 'normal' state. Send beacon
340 * passed beacon is greater than this threshold. Zero value means that
341 * the Energy change is ignored for beacon filtering, and beacon will
345 * Send beacon to driver if delta in Energy values calculated for this
346 * and last passed beacon is greater than this threshold. Zero value
347 * means that the Energy change is ignored for beacon filtering while in
350 * calculated for current beacon is less than the threshold, use
359 * calculated for this and the last passed beacon is greater than this
361 * beacon filtering; beacons will not be forced to be sent to driver
364 * calculated for this and the last passed beacon is greater than this
366 * beacon filtering; beacons will not be forced to be sent to driver
368 * @bf_enable_beacon_filter: 1, beacon filtering is enabled; 0, disabled.
371 * @ba_escape_timer: Fully receive and parse beacon if no beacons were passed
373 * @ba_enable_beacon_abort: 1, beacon abort is enabled; 0, disabled.
389 /* Beacon filtering and beacon abort */
H A Dfw-api-mac.h148 * @beacon_time: beacon transmit time in system time
149 * @beacon_tsf: beacon transmit time in TSF
150 * @bi: beacon interval in TU
155 * @beacon_template: beacon template ID
170 * @beacon_time: beacon transmit time in system time
171 * @beacon_tsf: beacon transmit time in TSF
172 * @bi: beacon interval in TU
174 * @beacon_template: beacon template ID
189 * @bi: beacon interval in TU, applicable only when associated
193 * @listen_interval: in beacon intervals, applicable only when associated
H A Dfw-api-stats.h102 __le32 beacon_silence_rssi_a; /* RSSI silence after beacon frame */
103 __le32 beacon_silence_rssi_b; /* RSSI silence after beacon frame */
104 __le32 beacon_silence_rssi_c; /* RSSI silence after beacon frame */
291 * By default, uCode issues this notification after receiving a beacon
H A Dfw-api-tx.h519 * struct iwl_mac_beacon_cmd - beacon template command
520 * @tx: the tx commands associated with the beacon frame
523 * @tim_idx: the offset of the tim IE in the beacon
525 * @frame: the template of the beacon frame
542 * struct iwl_extended_beacon_notif - notifies about beacon transmission
543 * @beacon_notify_hdr: tx response command associated with the beacon
544 * @tsf: last beacon tsf
546 * @gp2: last beacon time in gp2
H A Dtestmode.h74 * @IWL_MVM_TM_ATTR_BEACON_FILTER_STATE: beacon filter state (0 or 1, u32)
90 * @IWL_MVM_TM_CMD_SET_BEACON_FILTER: turn beacon filtering off/on
H A Dmvm.h91 /* For GO, this value represents the number of TUs before CSA "beacon
98 * "beacon 1" TBTT, instead. This is because we don't know when the
105 * be just before "beacon 0" TBTT.
235 /* beacon filtering */
313 * struct iwl_mvm_vif_bf_data - beacon filtering related data
314 * @bf_enabled: indicates if beacon filtering is enabled
315 * @ba_enabled: indicated if beacon abort is enabled
316 * @ave_beacon_signal: average beacon signal
352 * @beacon_skb: the skb used to hold the AP/GO beacon template
355 * @beacon_stats: beacon statistics, containing the # of received beacons,
600 * for beacon filtering -
813 /* system time of last beacon (for AP/GO interface) */
1328 /* beacon filtering */
1357 /* get SystemLowLatencyMode - only needed for beacon threshold? */
H A Dmac80211.c1534 /* make sure that beacon statistics don't go backwards with FW reset */ iwl_mvm_mac_add_interface()
1549 * The AP binding flow can be done only after the beacon iwl_mvm_mac_add_interface()
1579 /* beacon filtering */ iwl_mvm_mac_add_interface()
2031 * beacon interval, which was not known when the station interface was iwl_mvm_bss_info_changed_station()
2056 /* clear statistics to get clean beacon counter */ iwl_mvm_bss_info_changed_station()
2077 * The firmware needs to receive a beacon to iwl_mvm_bss_info_changed_station()
2079 * the beacon interval. iwl_mvm_bss_info_changed_station()
2140 * We received a beacon _after_ association so iwl_mvm_bss_info_changed_station()
2199 /* Send the beacon template */ iwl_mvm_start_ap_ibss()
2206 * beacon interval, which was not known when the AP interface was added. iwl_mvm_start_ap_ibss()
2327 /* Need to send a new beacon template to the FW */ iwl_mvm_bss_info_changed_ap_ibss()
2330 IWL_WARN(mvm, "Failed updating beacon data\n"); iwl_mvm_bss_info_changed_ap_ibss()
2633 * Firmware bug - it'll crash if the beacon interval is less iwl_mvm_mac_sta_state()
2642 "AP %pM beacon interval is %d, refusing due to firmware bug!\n", iwl_mvm_mac_sta_state()
2684 /* enable beacon filtering */ iwl_mvm_mac_sta_state()
2689 /* disable beacon filtering */ iwl_mvm_mac_sta_state()
2785 /* Try really hard to protect the session and hear a beacon */ iwl_mvm_mac_mgd_prepare_tx()
3404 * beacon on the new channel. __iwl_mvm_assign_vif_chanctx()
3468 /* Save blocked iface, the timeout is set on the next beacon */ __iwl_mvm_unassign_vif_chanctx()
3762 /* Schedule the time event to a bit before beacon 1, iwl_mvm_pre_channel_switch()
3958 /* if beacon filtering isn't on mac80211 does it anyway */ iwl_mvm_mac_sta_statistics()
H A Dutils.c346 u32 bcon_time; /* beacon timer */
393 u32 bcon_time; /* beacon timer */
552 IWL_ERR(mvm, "0x%08X | beacon time\n", table.bcon_time); iwl_mvm_dump_nic_error_log_old()
638 IWL_ERR(mvm, "0x%08X | beacon time\n", table.bcon_time); iwl_mvm_dump_nic_error_log()
/linux-4.1.27/drivers/net/wireless/ipw2x00/
H A Dlibipw_rx.c187 /* Process beacon frames also in kernel driver to libipw_rx_frame_mgmt()
928 * Make the structure we read from the beacon packet to have
1387 *beacon, libipw_network_init()
1397 memcpy(network->bssid, beacon->header.addr3, ETH_ALEN); libipw_network_init()
1398 network->capability = le16_to_cpu(beacon->capability); libipw_network_init()
1400 network->time_stamp[0] = le32_to_cpu(beacon->time_stamp[0]); libipw_network_init()
1401 network->time_stamp[1] = le32_to_cpu(beacon->time_stamp[1]); libipw_network_init()
1402 network->beacon_interval = le16_to_cpu(beacon->beacon_interval); libipw_network_init()
1403 /* Where to pull this? beacon->listen_interval; */ libipw_network_init()
1423 (beacon->info_element, stats->len - sizeof(*beacon), network)) libipw_network_init()
1535 *beacon, struct libipw_rx_stats libipw_process_probe_response()
1543 struct libipw_info_element *info_element = beacon->info_element; libipw_process_probe_response()
1549 beacon->header.addr3, libipw_process_probe_response()
1550 (beacon->capability & cpu_to_le16(1 << 0xf)) ? '1' : '0', libipw_process_probe_response()
1551 (beacon->capability & cpu_to_le16(1 << 0xe)) ? '1' : '0', libipw_process_probe_response()
1552 (beacon->capability & cpu_to_le16(1 << 0xd)) ? '1' : '0', libipw_process_probe_response()
1553 (beacon->capability & cpu_to_le16(1 << 0xc)) ? '1' : '0', libipw_process_probe_response()
1554 (beacon->capability & cpu_to_le16(1 << 0xb)) ? '1' : '0', libipw_process_probe_response()
1555 (beacon->capability & cpu_to_le16(1 << 0xa)) ? '1' : '0', libipw_process_probe_response()
1556 (beacon->capability & cpu_to_le16(1 << 0x9)) ? '1' : '0', libipw_process_probe_response()
1557 (beacon->capability & cpu_to_le16(1 << 0x8)) ? '1' : '0', libipw_process_probe_response()
1558 (beacon->capability & cpu_to_le16(1 << 0x7)) ? '1' : '0', libipw_process_probe_response()
1559 (beacon->capability & cpu_to_le16(1 << 0x6)) ? '1' : '0', libipw_process_probe_response()
1560 (beacon->capability & cpu_to_le16(1 << 0x5)) ? '1' : '0', libipw_process_probe_response()
1561 (beacon->capability & cpu_to_le16(1 << 0x4)) ? '1' : '0', libipw_process_probe_response()
1562 (beacon->capability & cpu_to_le16(1 << 0x3)) ? '1' : '0', libipw_process_probe_response()
1563 (beacon->capability & cpu_to_le16(1 << 0x2)) ? '1' : '0', libipw_process_probe_response()
1564 (beacon->capability & cpu_to_le16(1 << 0x1)) ? '1' : '0', libipw_process_probe_response()
1565 (beacon->capability & cpu_to_le16(1 << 0x0)) ? '1' : '0'); libipw_process_probe_response()
1567 if (libipw_network_init(ieee, beacon, &network, stats)) { libipw_process_probe_response()
1570 beacon->header.addr3, libipw_process_probe_response()
1571 is_beacon(beacon->header.frame_ctl) ? libipw_process_probe_response()
1598 * with this beacon's information */ libipw_process_probe_response()
1618 is_beacon(beacon->header.frame_ctl) ? libipw_process_probe_response()
1627 is_beacon(beacon->header.frame_ctl) ? libipw_process_probe_response()
1634 if (is_beacon(beacon->header.frame_ctl)) { libipw_process_probe_response()
1636 ieee->handle_beacon(dev, beacon, target); libipw_process_probe_response()
1639 ieee->handle_probe_response(dev, beacon, target); libipw_process_probe_response()
1386 libipw_network_init(struct libipw_device *ieee, struct libipw_probe_response *beacon, struct libipw_network *network, struct libipw_rx_stats *stats) libipw_network_init() argument
1532 libipw_process_probe_response(struct libipw_device *ieee, struct libipw_probe_response *beacon, struct libipw_rx_stats *stats) libipw_process_probe_response() argument
H A Dipw2100.h912 IPW_ORD_STAT_TX_BEACON, // # of tx beacon
963 IPW_ORD_STAT_RX_BEACON, // # of Rx beacon
999 IPW_ORD_STAT_PSP_BCN_TIMEOUT, // # of beacon timeout
1046 IPW_ORD_COUNTRY_CODE, // IEEE country code as recv'd from beacon
1058 IPW_ORD_DTIM_PERIOD, // # of beacon intervals between DTIMs
H A Dlibipw.h458 * CF params, IBSS params, TIM (if beacon), RSN */
462 /* Alias beacon for probe_response */
818 struct libipw_beacon * beacon,
H A Dlibipw_module.c169 LIBIPW_ERROR("Unable to allocate beacon storage: %d\n", err); alloc_libipw()
/linux-4.1.27/drivers/net/wireless/ti/wlcore/
H A Drx.c62 u8 beacon) wl1271_rx_status()
102 if (beacon) wl1271_rx_status()
114 u8 beacon = 0; wl1271_rx_handle_data() local
187 beacon = 1; wl1271_rx_handle_data()
191 wl1271_rx_status(wl, desc, IEEE80211_SKB_RXCB(skb), beacon); wl1271_rx_handle_data()
197 beacon ? "beacon" : "", wl1271_rx_handle_data()
59 wl1271_rx_status(struct wl1271 *wl, struct wl1271_rx_descriptor *desc, struct ieee80211_rx_status *status, u8 beacon) wl1271_rx_status() argument
H A Dconf.h253 * The threshold (percent) of max consecutive beacon misses before
254 * increasing priority of beacon reception.
727 CONF_WAKE_UP_EVENT_N_BEACONS = 0x08, /* Wake every Nth beacon */
843 * Range: 0 for beacon and Dtim wakeup
863 * Enable or disable the beacon filtering.
885 * received beacon (or probe response) before issuing the BSS_EVENT_LOSE
926 * Specifies if beacon early termination procedure is enabled or
936 * beacon must be correctly received in FW before beacon ET
1065 * The weight for rssi/beacon average calculation
1079 * The weight for snr/beacon average calculation
H A Dps.c202 * enable beacon early termination. wl1271_ps_set_mode()
215 /* disable beacon early termination */ wl1271_ps_set_mode()
H A Dmain.c2938 * updates it by itself when the first beacon is wlcore_set_assoc()
3039 /* disable beacon filtering */ wlcore_unset_assoc()
3941 wl1271_error("No SSID in beacon!"); wl1271_ap_set_probe_resp_tmpl_legacy()
4019 int ieoffset = offsetof(struct ieee80211_mgmt, u.beacon.variable); wlcore_set_beacon_template()
4020 struct sk_buff *beacon = ieee80211_beacon_get(wl->hw, vif); wlcore_set_beacon_template() local
4023 if (!beacon) { wlcore_set_beacon_template()
4028 wl1271_debug(DEBUG_MASTER, "beacon updated"); wlcore_set_beacon_template()
4030 ret = wl1271_ssid_set(wlvif, beacon, ieoffset); wlcore_set_beacon_template()
4032 dev_kfree_skb(beacon); wlcore_set_beacon_template()
4039 beacon->data, wlcore_set_beacon_template()
4040 beacon->len, 0, wlcore_set_beacon_template()
4043 dev_kfree_skb(beacon); wlcore_set_beacon_template()
4050 beacon->data + ieoffset, wlcore_set_beacon_template()
4051 beacon->len - ieoffset); wlcore_set_beacon_template()
4054 * In case we already have a probe-resp beacon set explicitly wlcore_set_beacon_template()
4055 * by usermode, don't use the beacon data. wlcore_set_beacon_template()
4061 wl12xx_remove_ie(beacon, WLAN_EID_TIM, ieoffset); wlcore_set_beacon_template()
4071 wl12xx_remove_vendor_ie(beacon, WLAN_OUI_WFA, wlcore_set_beacon_template()
4074 hdr = (struct ieee80211_hdr *) beacon->data; wlcore_set_beacon_template()
4079 beacon->data, wlcore_set_beacon_template()
4080 beacon->len, wlcore_set_beacon_template()
4085 beacon->data, wlcore_set_beacon_template()
4086 beacon->len, 0, wlcore_set_beacon_template()
4089 dev_kfree_skb(beacon); wlcore_set_beacon_template()
4107 wl1271_debug(DEBUG_MASTER, "beacon interval updated: %d", wl1271_bss_beacon_info_changed()
4133 wl1271_error("beacon info change failed: %d", ret); wl1271_bss_beacon_info_changed()
4424 /* enable beacon filtering */ wl1271_bss_info_changed_sta()
5441 int ieoffset = offsetof(struct ieee80211_mgmt, u.beacon.variable); wlcore_get_beacon_ie()
5442 struct sk_buff *beacon = wlcore_get_beacon_ie() local
5445 if (!beacon) wlcore_get_beacon_ie()
5449 beacon->data + ieoffset, wlcore_get_beacon_ie()
5450 beacon->len - ieoffset); wlcore_get_beacon_ie()
5482 "mac80211 channel switch beacon (role %d)", wlcore_op_channel_switch_beacon()
5487 wl1271_error("error getting beacon (for CSA counter)"); wlcore_op_channel_switch_beacon()
H A Dinit.c290 /* disable beacon filtering until we get the first beacon */ wl1271_init_sta_beacon_filter()
H A Devent.c235 * We are HW_MONITOR device. On beacon loss - queue wlcore_event_beacon_loss()
/linux-4.1.27/drivers/staging/rtl8188eu/hal/
H A Drtl8188e_cmd.c275 /* beacon interval: 2 bytes */ ConstructBeacon()
324 DBG_88E("beacon frame too large\n"); ConstructBeacon()
469 /* true: At the second time, we should send the first packet (default:beacon) */
470 /* to Hw again and set the length in descriptor to the real beacon length. */
505 /* 3 (1) beacon * 2 pages */ SetFwRsvdPagePkt()
512 /* To reserved 2 pages for beacon buffer. 2010.06.24. */ SetFwRsvdPagePkt()
598 /* Do not set TSF again here or vWiFi beacon DMA INT will not work. */ rtl8188e_set_FwJoinBssReport_cmd()
600 /* Set REG_CR bit 8. DMA beacon by SW. */ rtl8188e_set_FwJoinBssReport_cmd()
604 /* Disable Hw protection for a time which revserd for Hw sending beacon. */ rtl8188e_set_FwJoinBssReport_cmd()
611 DBG_88E("HalDownloadRSVDPage(): There is an Adapter is sending beacon.\n"); rtl8188e_set_FwJoinBssReport_cmd()
615 /* Set FWHW_TXQ_CTRL 0x422[6]=0 to tell Hw the packet is not a real beacon frame. */ rtl8188e_set_FwJoinBssReport_cmd()
619 /* Clear beacon valid check bit. */ rtl8188e_set_FwJoinBssReport_cmd()
646 /* the beacon TCB in the following code. 2011.11.23. by tynli. */ rtl8188e_set_FwJoinBssReport_cmd()
653 /* To make sure that if there exists an adapter which would like to send beacon. */ rtl8188e_set_FwJoinBssReport_cmd()
656 /* the beacon cannot be sent by HW. */ rtl8188e_set_FwJoinBssReport_cmd()
670 /* Clear CR[8] or beacon packet will not be send to TxBuf anymore. */ rtl8188e_set_FwJoinBssReport_cmd()
/linux-4.1.27/drivers/staging/rtl8192e/
H A Drtllib_softmac.c793 inline struct sk_buff *rtllib_authentication_req(struct rtllib_network *beacon, rtllib_authentication_req() argument
817 memcpy(auth->header.addr1, beacon->bssid, ETH_ALEN); rtllib_authentication_req()
819 memcpy(auth->header.addr3, beacon->bssid, ETH_ALEN); rtllib_authentication_req()
1168 inline struct sk_buff *rtllib_association_req(struct rtllib_network *beacon, rtllib_association_req() argument
1188 unsigned int rate_len = (beacon->rates_len ? rtllib_association_req()
1189 (beacon->rates_len + 2) : 0) + rtllib_association_req()
1190 (beacon->rates_ex_len ? (beacon->rates_ex_len) + rtllib_association_req()
1193 unsigned int wmm_info_len = beacon->qos_data.supported ? 9 : 0; rtllib_association_req()
1194 unsigned int turbo_info_len = beacon->Turbo_Enable ? 9 : 0; rtllib_association_req()
1227 if (beacon->bCkipSupported) rtllib_association_req()
1229 if (beacon->bCcxRmEnable) rtllib_association_req()
1231 if (beacon->BssCcxVerNumber >= 2) rtllib_association_req()
1241 + beacon->ssid_len rtllib_association_req()
1267 memcpy(hdr->header.addr1, beacon->bssid, ETH_ALEN); rtllib_association_req()
1269 memcpy(hdr->header.addr3, beacon->bssid, ETH_ALEN); rtllib_association_req()
1271 memcpy(ieee->ap_mac_addr, beacon->bssid, ETH_ALEN); rtllib_association_req()
1274 if (beacon->capability & WLAN_CAPABILITY_PRIVACY) rtllib_association_req()
1277 if (beacon->capability & WLAN_CAPABILITY_SHORT_PREAMBLE) rtllib_association_req()
1281 (beacon->capability&WLAN_CAPABILITY_SHORT_SLOT_TIME)) rtllib_association_req()
1285 hdr->listen_interval = cpu_to_le16(beacon->listen_interval); rtllib_association_req()
1289 hdr->info_element[0].len = beacon->ssid_len; rtllib_association_req()
1290 tag = skb_put(skb, beacon->ssid_len); rtllib_association_req()
1291 memcpy(tag, beacon->ssid, beacon->ssid_len); rtllib_association_req()
1295 if (beacon->rates_len) { rtllib_association_req()
1297 *tag++ = beacon->rates_len; rtllib_association_req()
1298 for (i = 0; i < beacon->rates_len; i++) rtllib_association_req()
1299 *tag++ = beacon->rates[i]; rtllib_association_req()
1302 if (beacon->rates_ex_len) { rtllib_association_req()
1304 *tag++ = beacon->rates_ex_len; rtllib_association_req()
1305 for (i = 0; i < beacon->rates_ex_len; i++) rtllib_association_req()
1306 *tag++ = beacon->rates_ex[i]; rtllib_association_req()
1309 if (beacon->bCkipSupported) { rtllib_association_req()
1329 if (beacon->bCcxRmEnable) { rtllib_association_req()
1343 if (beacon->BssCcxVerNumber >= 2) { rtllib_association_req()
1347 CcxVerNumBuf[4] = beacon->BssCcxVerNumber; rtllib_association_req()
1462 struct rtllib_network *beacon = &ieee->current_network; rtllib_associate_step1() local
1469 skb = rtllib_authentication_req(beacon, ieee, 0, daddr); rtllib_associate_step1()
1488 struct rtllib_network *beacon = &ieee->current_network; rtllib_auth_challenge() local
1493 skb = rtllib_authentication_req(beacon, ieee, chlen + 2, beacon->bssid); rtllib_auth_challenge()
1517 struct rtllib_network *beacon = &ieee->current_network; rtllib_associate_step2() local
1524 skb = rtllib_association_req(beacon, ieee); rtllib_associate_step2()
3502 inline struct sk_buff *rtllib_disauth_skb(struct rtllib_network *beacon, rtllib_disauth_skb() argument
3520 memcpy(disauth->header.addr1, beacon->bssid, ETH_ALEN); rtllib_disauth_skb()
3522 memcpy(disauth->header.addr3, beacon->bssid, ETH_ALEN); rtllib_disauth_skb()
3528 inline struct sk_buff *rtllib_disassociate_skb(struct rtllib_network *beacon, rtllib_disassociate_skb() argument
3547 memcpy(disass->header.addr1, beacon->bssid, ETH_ALEN); rtllib_disassociate_skb()
3549 memcpy(disass->header.addr3, beacon->bssid, ETH_ALEN); rtllib_disassociate_skb()
3557 struct rtllib_network *beacon = &ieee->current_network; SendDisassociation() local
3561 skb = rtllib_disauth_skb(beacon, ieee, asRsn); SendDisassociation()
3563 skb = rtllib_disassociate_skb(beacon, ieee, asRsn); SendDisassociation()
H A Drtllib_rx.c1505 /* Make ther structure we read from the beacon packet has the right values */ rtllib_verify_qos_info()
1722 "Received beacon ContryIE, SSID: <%s>\n", rtllib_extract_country_ie()
2207 struct rtllib_probe_response *beacon, rtllib_network_init()
2214 memcpy(network->bssid, beacon->header.addr3, ETH_ALEN); rtllib_network_init()
2215 network->capability = le16_to_cpu(beacon->capability); rtllib_network_init()
2217 network->time_stamp[0] = beacon->time_stamp[0]; rtllib_network_init()
2218 network->time_stamp[1] = beacon->time_stamp[1]; rtllib_network_init()
2219 network->beacon_interval = le16_to_cpu(beacon->beacon_interval); rtllib_network_init()
2220 /* Where to pull this? beacon->listen_interval;*/ rtllib_network_init()
2257 beacon->info_element, rtllib_network_init()
2258 (stats->len - sizeof(*beacon)), rtllib_network_init()
2460 struct rtllib_probe_response *beacon, rtllib_process_probe_response()
2465 struct rtllib_info_element *info_element = &beacon->info_element[0]; rtllib_process_probe_response()
2477 beacon->header.addr3, rtllib_process_probe_response()
2478 (le16_to_cpu(beacon->capability) & (1<<0xf)) ? '1' : '0', rtllib_process_probe_response()
2479 (le16_to_cpu(beacon->capability) & (1<<0xe)) ? '1' : '0', rtllib_process_probe_response()
2480 (le16_to_cpu(beacon->capability) & (1<<0xd)) ? '1' : '0', rtllib_process_probe_response()
2481 (le16_to_cpu(beacon->capability) & (1<<0xc)) ? '1' : '0', rtllib_process_probe_response()
2482 (le16_to_cpu(beacon->capability) & (1<<0xb)) ? '1' : '0', rtllib_process_probe_response()
2483 (le16_to_cpu(beacon->capability) & (1<<0xa)) ? '1' : '0', rtllib_process_probe_response()
2484 (le16_to_cpu(beacon->capability) & (1<<0x9)) ? '1' : '0', rtllib_process_probe_response()
2485 (le16_to_cpu(beacon->capability) & (1<<0x8)) ? '1' : '0', rtllib_process_probe_response()
2486 (le16_to_cpu(beacon->capability) & (1<<0x7)) ? '1' : '0', rtllib_process_probe_response()
2487 (le16_to_cpu(beacon->capability) & (1<<0x6)) ? '1' : '0', rtllib_process_probe_response()
2488 (le16_to_cpu(beacon->capability) & (1<<0x5)) ? '1' : '0', rtllib_process_probe_response()
2489 (le16_to_cpu(beacon->capability) & (1<<0x4)) ? '1' : '0', rtllib_process_probe_response()
2490 (le16_to_cpu(beacon->capability) & (1<<0x3)) ? '1' : '0', rtllib_process_probe_response()
2491 (le16_to_cpu(beacon->capability) & (1<<0x2)) ? '1' : '0', rtllib_process_probe_response()
2492 (le16_to_cpu(beacon->capability) & (1<<0x1)) ? '1' : '0', rtllib_process_probe_response()
2493 (le16_to_cpu(beacon->capability) & (1<<0x0)) ? '1' : '0'); rtllib_process_probe_response()
2495 if (rtllib_network_init(ieee, beacon, network, stats)) { rtllib_process_probe_response()
2499 beacon->header.addr3, rtllib_process_probe_response()
2501 le16_to_cpu(beacon->header.frame_ctl)) == rtllib_process_probe_response()
2511 if (WLAN_FC_GET_STYPE(le16_to_cpu(beacon->header.frame_ctl)) == rtllib_process_probe_response()
2545 if (is_beacon(beacon->header.frame_ctl)) { rtllib_process_probe_response()
2560 * with this beacon's information rtllib_process_probe_response()
2583 le16_to_cpu(beacon->header.frame_ctl)) == rtllib_process_probe_response()
2595 le16_to_cpu(beacon->header.frame_ctl)) == rtllib_process_probe_response()
2618 if (is_beacon(beacon->header.frame_ctl) && rtllib_process_probe_response()
2623 ieee->handle_beacon(ieee->dev, beacon, rtllib_process_probe_response()
2205 rtllib_network_init( struct rtllib_device *ieee, struct rtllib_probe_response *beacon, struct rtllib_network *network, struct rtllib_rx_stats *stats) rtllib_network_init() argument
2458 rtllib_process_probe_response( struct rtllib_device *ieee, struct rtllib_probe_response *beacon, struct rtllib_rx_stats *stats) rtllib_process_probe_response() argument
H A Drtllib_module.c119 RTLLIB_ERROR("Unable to allocate beacon storage: %d\n", alloc_rtllib()
/linux-4.1.27/net/wireless/
H A Dreg.h64 * regulatory_hint_found_beacon - hints a beacon was found on a channel
65 * @wiphy: the wireless device where the beacon was found on
66 * @beacon_chan: the channel on which the beacon was found on
69 * This informs the wireless core that a beacon from an AP was found on
121 * beacon regulatory hints. The ieee80211_regdom module parameter will always
H A Dwext-proc.c64 stats->discard.misc, stats->miss.beacon); wireless_seq_printf_stats()
83 "crypt frag retry misc | beacon | %d\n", wireless_dev_seq_show()
H A Dscan.c35 * that has a hidden SSID, and connects beacon and probe response
38 * beacon's information.
41 * the hidden_list, so that a beacon BSS struct that is otherwise
55 * data stored stored in the BSS struct, since the beacon IEs are
125 * don't remove the beacon entry if it has __cfg80211_unlink_bss()
492 * the already-present BSS ("b") is a hidden SSID beacon for cmp_bss()
793 * receiving a beacon (beacon_ies in the tmp cfg80211_bss_update()
795 * AP changed its beacon from not having an cfg80211_bss_update()
811 /* Override IEs if they were from a beacon before */ cfg80211_bss_update()
816 /* Assign beacon IEs to all sub entries */ cfg80211_bss_update()
835 * don't update the signal if beacon was heard on cfg80211_bss_update()
882 * Ok so we found a beacon, and don't have an entry. If cfg80211_bss_update()
883 * it's a beacon with hidden SSID, we might be in for an cfg80211_bss_update()
885 * be grouped with this beacon for updates ... cfg80211_bss_update()
1041 offsetof(struct ieee80211_mgmt, u.beacon.variable)); cfg80211_inform_bss_width_frame()
1059 channel = cfg80211_get_bss_channel(wiphy, mgmt->u.beacon.variable, cfg80211_inform_bss_width_frame()
1603 sprintf(buf, " Last beacon: %ums ago", ieee80211_bss()
/linux-4.1.27/drivers/net/wireless/ath/ath5k/
H A Dbase.c902 /* beacon buffers */ ath5k_desc_alloc()
1055 * Always burst out beacon and CAB traffic ath5k_beaconq_config()
1071 "beacon queueprops tqi_aifs:%d tqi_cw_min:%d tqi_cw_max:%d\n", ath5k_beaconq_config()
1076 ATH5K_ERR(ah, "%s: unable to update parameters for beacon " ath5k_beaconq_config()
1248 if (le16_to_cpu(mgmt->u.beacon.capab_info) & WLAN_CAPABILITY_IBSS) { ath5k_check_ibss_tsf()
1250 * Received an IBSS beacon with the same BSSID. Hardware *must* ath5k_check_ibss_tsf()
1255 bc_tstamp = le64_to_cpu(mgmt->u.beacon.timestamp); ath5k_check_ibss_tsf()
1259 "beacon %llx mactime %llx (diff %lld) tsf now %llx\n", ath5k_check_ibss_tsf()
1268 * (This seems to happen especially with beacon frames bigger ath5k_check_ibss_tsf()
1271 * timestamp of the beacon since HW must have synced to that. ath5k_check_ibss_tsf()
1285 * Local TSF might have moved higher than our beacon timers, ath5k_check_ibss_tsf()
1287 * beacons. This also takes care of synchronizing beacon sending ath5k_check_ibss_tsf()
1293 /* Check if the beacon timers are still correct, because a TSF ath5k_check_ibss_tsf()
1299 "fixed beacon timers after beacon receive\n"); ath5k_check_ibss_tsf()
1807 * Setup the beacon frame for transmit.
1827 ATH5K_ERR(ah, "beacon DMA mapping failed\n"); ath5k_beacon_setup()
1886 * Updates the beacon that is sent by ath5k_beacon_send. For adhoc,
1890 * Called with the beacon lock.
1921 * Transmit a beacon frame at SWBA. Dynamic updates to the
1940 * Check if the previous beacon has gone out. If ath5k_beacon_send()
1952 "stuck beacon time (%u missed)\n", ath5k_beacon_send()
1955 "stuck beacon, resetting\n"); ath5k_beacon_send()
1962 "resume beacon xmit after %u misses\n", ath5k_beacon_send()
1992 ATH5K_WARN(ah, "beacon queue %u didn't start/stop ?\n", ah->bhalq); ath5k_beacon_send()
1996 /* refresh the beacon for AP or MESH mode */ ath5k_beacon_send()
2031 * ath5k_beacon_update_timers - update beacon timers
2034 * @bc_tsf: the timestamp of the beacon. 0 to reset the TSF. -1 to perform a
2035 * beacon timer update based on the current HW TSF.
2037 * Calculate the next target beacon transmit time (TBTT) based on the timestamp
2038 * of a received beacon or the current local hardware TSF and write it to the
2039 * beacon timer registers.
2041 * This is called in a variety of situations, e.g. when a beacon is received,
2063 /* beacon TSF converted to TU */ ath5k_beacon_update_timers()
2083 * no beacon received, probably called by ath5k_reset_tsf(). ath5k_beacon_update_timers()
2090 * beacon received, SW merge happened but HW TSF not yet updated. ath5k_beacon_update_timers()
2092 * receive a beacon with the same BSSID, the hardware will ath5k_beacon_update_timers()
2101 * most important case for beacon synchronization between STA. ath5k_beacon_update_timers()
2103 * beacon received and HW TSF has been already updated by HW. ath5k_beacon_update_timers()
2104 * update next TBTT based on the TSF of the beacon, but make ath5k_beacon_update_timers()
2128 "updated timers based on beacon TSF\n"); ath5k_beacon_update_timers()
2141 * ath5k_beacon_config - Configure the beacon queues and interrupts
2160 * We use the SWBA interrupt only to keep track of the beacon ath5k_beacon_config()
2186 * Software beacon alert--time to send a beacon. ath5k_tasklet_beacon()
2189 * keep track of the next TBTT (target beacon ath5k_tasklet_beacon()
2331 /* Software Beacon Alert -> Schedule beacon tasklet */ ath5k_intr()
2361 /* Missed beacon -> TODO ath5k_intr()
2702 * reclaim beacon resources ath5k_stop_locked()
3016 * beacon frames and one data queue for each QoS ath5k_init()
3022 ATH5K_ERR(ah, "can't setup a beacon xmit queue\n"); ath5k_init()
H A Dpcu.c50 * - Updating beacon data (with TSF etc)
638 * ath5k_hw_init_beacon_timers() - Initialize beacon timers
641 * @interval: Current beacon interval
643 * This function is used to initialize beacon timers based on current
675 * beacon alert (DBA) timer and timer2 as next ath5k_hw_init_beacon_timers()
676 * software beacon alert. Both in 1/8TUs. */ ath5k_hw_init_beacon_timers()
688 * Set the beacon register and enable all timers. ath5k_hw_init_beacon_timers()
756 * ath5k_hw_check_beacon_timers() - Check if the beacon timers are correct
758 * @intval: beacon interval
764 * next beacon target time (NBTT), and that the HW updates these timers
766 * timer by the beacon interval, when the local TSF converted to TU is equal
769 * The reception of a beacon with the same BSSID can update the local HW TSF
778 * updated), while the one in the future will be updated every beacon
781 * updated again. But - because the beacon interval is usually not an exact
787 * sent, which creates transmission pauses after each beacon. This symptom
789 * for some time and then drop down again. A wrong window on the DMA beacon
H A Dani.c253 /* TODO: for IBSS mode it would be better to keep a beacon RSSI average ath5k_ani_raise_immunity()
259 "beacon RSSI high"); ath5k_ani_raise_immunity()
260 /* only OFDM: beacon RSSI is high, we can disable ODFM weak ath5k_ani_raise_immunity()
273 /* beacon RSSI in mid range, we need OFDM weak signal detect, ath5k_ani_raise_immunity()
276 "beacon RSSI mid"); ath5k_ani_raise_immunity()
283 /* beacon RSSI is low. in B/G mode turn of OFDM weak signal ath5k_ani_raise_immunity()
286 "beacon RSSI low, 2GHz"); ath5k_ani_raise_immunity()
325 /* beacon signal is high, leave OFDM weak signal ath5k_ani_lower_immunity()
329 /* beacon RSSI is mid-range: turn on ODFM weak signal ath5k_ani_lower_immunity()
342 /* beacon signal is low: only reduce firstep level */ ath5k_ani_lower_immunity()
H A Dath5k.h535 * @AR5K_TX_QUEUE_BEACON: The beacon queue
536 * @AR5K_TX_QUEUE_CAB: The after-beacon queue
575 * @AR5K_TX_QUEUE_ID_CAB: Content after beacon queue
740 #define AR5K_BEACON_ENA 0x00800000 /*enable beacon xmit*/
973 * beacon that must be handled in software. The alternative is if
983 * @AR5K_INT_BNR: Beacon queue got triggered (DMA beacon alert) while empty.
990 * @AR5K_INT_CAB_TIMEOUT: We waited for CAB traffic after the beacon but got
1251 #define ATH_BCBUF 4 /* number of beacon buffers */
1323 spinlock_t block; /* protects beacon */
1324 struct tasklet_struct beacontq; /* beacon intr tasklet */
1325 struct list_head bcbuf; /* beacon buffer */
1331 bmisscount, /* missed beacon transmits */
1332 bintval, /* beacon interval in TU */
1334 unsigned int nexttbtt; /* next beacon time in TU */
1335 struct ath5k_txq *cabq; /* content after beacon */
1435 /* average beacon RSSI in our BSS (used by ANI) */
H A Dani.h30 /* average beacon RSSI thresholds */
H A Dbase.h77 struct ath5k_buf *bbuf; /* beacon buffer */
H A Ddma.c321 * ath5k_hw_stop_beacon_queue() - Stop beacon queue
334 "beacon queue didn't stop !\n"); ath5k_hw_stop_beacon_queue()
347 * We use TXDP0 for normal data queue and TXDP1 for beacon queue.
390 * so as above we use TXDP0 for normal data queue and TXDP1 for beacon queue.
789 /* Misc beacon related interrupts */ ath5k_hw_set_imr()
H A Dmac80211-ops.c116 /* Assign the vap/adhoc to a beacon xmit slot. */ ath5k_add_interface()
431 /* XXX move these to mac80211, and add a beacon IFF flag to mac80211 */ ath5k_configure_filter()
650 * in IBSS mode we need to update the beacon timers too. ath5k_reset_tsf()
H A Dreg.h309 #define AR5K_ISR_SWBA 0x00010000 /* Software beacon alert */
321 #define AR5K_ISR_BCNMISC 0x00800000 /* Misc beacon related interrupt
411 #define AR5K_IMR_SWBA 0x00010000 /* Software beacon alert*/
627 #define AR5K_QCU_MISC_CBREXP_BCN_DIS 0x00000040 /* Disable CBR expired counter (beacon queue) */
733 * can transmit (this is used on beacon and CAB queues).
1257 * PCU beacon control register
1263 #define AR5K_BEACON_PERIOD 0x0000ffff /* Mask for beacon period */
1279 * Next beacon time register
1287 * Next DMA beacon alert register
1295 * Next software beacon alert register
1350 #define AR5K_RX_FILTER_BEACON 0x00000010 /* Don't filter beacon frames */
1471 * Last beacon timestamp register (Read Only)
H A Ddebug.c305 { ATH5K_DEBUG_BEACON, "beacon", "beacon handling" },
724 "beacon RSSI average:\t%d\n", read_file_ani()
1010 debugfs_create_file("beacon", S_IWUSR | S_IRUSR, phydir, ah, ath5k_debug_init_device()
H A Ddebug.h79 * @ATH5K_DEBUG_BEACON: beacon handling
/linux-4.1.27/drivers/net/wireless/mwifiex/
H A Duap_cmd.c167 ht_ie = cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, params->beacon.tail, mwifiex_set_ht_params()
168 params->beacon.tail_len); mwifiex_set_ht_params()
212 vht_ie = cfg80211_find_ie(WLAN_EID_VHT_CAPABILITY, params->beacon.tail, mwifiex_set_vht_params()
213 params->beacon.tail_len); mwifiex_set_vht_params()
257 /* This function finds supported rates IE from beacon parameter and sets
265 int var_offset = offsetof(struct ieee80211_mgmt, u.beacon.variable); mwifiex_set_uap_rates()
266 const u8 *var_pos = params->beacon.head + var_offset; mwifiex_set_uap_rates()
267 int len = params->beacon.head_len - var_offset; mwifiex_set_uap_rates()
277 params->beacon.tail, mwifiex_set_uap_rates()
278 params->beacon.tail_len); mwifiex_set_uap_rates()
394 params->beacon.tail, mwifiex_set_wmm_params()
395 params->beacon.tail_len); mwifiex_set_wmm_params()
H A Die.c148 /* Copy individual custom IEs for beacon, probe response and assoc response
196 /* save beacon ie index after auto-indexing */ mwifiex_update_uap_custom_ie()
254 /* This function parses beacon IEs, probe response IEs, association response IEs
255 * from cfg80211_ap_settings->beacon and sets these IE to FW.
384 /* This function parses different IEs-head & tail IEs, beacon IEs,
H A Dscan.c1144 * This function parses provided beacon buffer and updates
1631 /* Extract & convert beacon size from command buffer */ mwifiex_parse_single_response_buf()
1643 /* Initialize the current working beacon pointer for this BSS mwifiex_parse_single_response_buf()
1648 /* Advance the return beacon pointer past the current beacon */ mwifiex_parse_single_response_buf()
1655 * time stamp, beacon interval, and capability information mwifiex_parse_single_response_buf()
1934 * TSF value at the time the beacon or probe response was mwifiex_ret_802_11_scan()
2142 /* BSS response TLV with beacon or probe response buffer mwifiex_handle_event_ext_scan_report()
2191 /* Advance pointer to the beacon buffer length and mwifiex_handle_event_ext_scan_report()
2372 * This function saves a beacon buffer of the current BSS descriptor.
2374 * The current beacon buffer is saved so that it can be restored in the
2375 * following cases that makes the beacon buffer not to contain the current
2376 * ssid's beacon buffer.
2389 /* allocate beacon buffer at 1st time; or if it's size has changed */ mwifiex_save_curr_bcn()
2403 dev_dbg(priv->adapter->dev, "info: current beacon saved %d\n", mwifiex_save_curr_bcn()
2452 * This function frees the current BSS descriptor beacon buffer.
H A Djoin.c93 * - The TSF of the target AP from its previous beacon/probe response
95 * beacon/probe response.
121 /* TSF at the time when beacon/probe_response was received */ mwifiex_cmd_append_tsf_tlv()
413 /* Set the beacon period */ mwifiex_cmd_802_11_associate()
762 * will fill up beacon period, basic rates and operational rates.
810 * Firmware will fill up beacon period, Basic rates mwifiex_cmd_802_11_ad_hoc_start()
1195 * saves the beacon buffer.
H A Dsta_cmdresp.c113 * - Last data and beacon RSSI value
114 * - Average data and beacon RSSI value
115 * - Last data and beacon NF value
116 * - Average data and beacon NF value
821 * beacon interval, ATIM window and ERP information are updated, along with
/linux-4.1.27/drivers/staging/rtl8192u/ieee80211/
H A Dieee80211_rx.c251 /* Process beacon frames also in kernel driver to ieee80211_rx_frame_mgmt()
1391 * Make the structure we read from the beacon packet to have
2018 // windows driver will update WMM parameters each beacon received once connected ieee80211_parse_info_param()
2047 // "A Cisco access point advertises support for CKIP in beacon and probe response packets, ieee80211_parse_info_param()
2173 struct ieee80211_probe_response *beacon, ieee80211_network_init()
2188 memcpy(network->bssid, beacon->header.addr3, ETH_ALEN); ieee80211_network_init()
2189 network->capability = le16_to_cpu(beacon->capability); ieee80211_network_init()
2191 network->time_stamp[0] = le32_to_cpu(beacon->time_stamp[0]); ieee80211_network_init()
2192 network->time_stamp[1] = le32_to_cpu(beacon->time_stamp[1]); ieee80211_network_init()
2193 network->beacon_interval = le16_to_cpu(beacon->beacon_interval); ieee80211_network_init()
2194 /* Where to pull this? beacon->listen_interval;*/ ieee80211_network_init()
2227 (ieee,beacon->info_element, stats->len - sizeof(*beacon), network, stats)) ieee80211_network_init()
2368 dst->wmm_info = src->wmm_info; //sure to exist in beacon or probe response frame. update_network()
2403 struct ieee80211_probe_response *beacon, ieee80211_process_probe_response()
2410 struct ieee80211_info_element *info_element = &beacon->info_element[0]; ieee80211_process_probe_response()
2420 beacon->header.addr3, ieee80211_process_probe_response()
2421 (beacon->capability & (1<<0xf)) ? '1' : '0', ieee80211_process_probe_response()
2422 (beacon->capability & (1<<0xe)) ? '1' : '0', ieee80211_process_probe_response()
2423 (beacon->capability & (1<<0xd)) ? '1' : '0', ieee80211_process_probe_response()
2424 (beacon->capability & (1<<0xc)) ? '1' : '0', ieee80211_process_probe_response()
2425 (beacon->capability & (1<<0xb)) ? '1' : '0', ieee80211_process_probe_response()
2426 (beacon->capability & (1<<0xa)) ? '1' : '0', ieee80211_process_probe_response()
2427 (beacon->capability & (1<<0x9)) ? '1' : '0', ieee80211_process_probe_response()
2428 (beacon->capability & (1<<0x8)) ? '1' : '0', ieee80211_process_probe_response()
2429 (beacon->capability & (1<<0x7)) ? '1' : '0', ieee80211_process_probe_response()
2430 (beacon->capability & (1<<0x6)) ? '1' : '0', ieee80211_process_probe_response()
2431 (beacon->capability & (1<<0x5)) ? '1' : '0', ieee80211_process_probe_response()
2432 (beacon->capability & (1<<0x4)) ? '1' : '0', ieee80211_process_probe_response()
2433 (beacon->capability & (1<<0x3)) ? '1' : '0', ieee80211_process_probe_response()
2434 (beacon->capability & (1<<0x2)) ? '1' : '0', ieee80211_process_probe_response()
2435 (beacon->capability & (1<<0x1)) ? '1' : '0', ieee80211_process_probe_response()
2436 (beacon->capability & (1<<0x0)) ? '1' : '0'); ieee80211_process_probe_response()
2438 if (ieee80211_network_init(ieee, beacon, &network, stats)) { ieee80211_process_probe_response()
2442 beacon->header.addr3, ieee80211_process_probe_response()
2443 WLAN_FC_GET_STYPE(beacon->header.frame_ctl) == ieee80211_process_probe_response()
2450 // (1) if wireless adapter receive get any 802.11d country code in AP beacon, ieee80211_process_probe_response()
2452 // (2) If there is no any country code in beacon, ieee80211_process_probe_response()
2460 if (WLAN_FC_GET_STYPE(beacon->header.frame_ctl) == IEEE80211_STYPE_PROBE_RESP) ieee80211_process_probe_response()
2487 printk("GetScanInfo(): For Country code, filter beacon at channel(%d).\n",network.channel); ieee80211_process_probe_response()
2497 printk("GetScanInfo(): For Global Domain, filter beacon at channel(%d).\n",network.channel); ieee80211_process_probe_response()
2525 if(is_beacon(beacon->header.frame_ctl)) ieee80211_process_probe_response()
2543 * with this beacon's information */ ieee80211_process_probe_response()
2567 WLAN_FC_GET_STYPE(beacon->header.frame_ctl) == ieee80211_process_probe_response()
2580 WLAN_FC_GET_STYPE(beacon->header.frame_ctl) == ieee80211_process_probe_response()
2590 if(is_beacon(beacon->header.frame_ctl) == 0) ieee80211_process_probe_response()
2606 if (is_beacon(beacon->header.frame_ctl)&&is_same_network(&ieee->current_network, &network, ieee)&&\ ieee80211_process_probe_response()
2609 ieee->handle_beacon(ieee->dev,beacon,&ieee->current_network); ieee80211_process_probe_response()
2171 ieee80211_network_init( struct ieee80211_device *ieee, struct ieee80211_probe_response *beacon, struct ieee80211_network *network, struct ieee80211_rx_stats *stats) ieee80211_network_init() argument
2401 ieee80211_process_probe_response( struct ieee80211_device *ieee, struct ieee80211_probe_response *beacon, struct ieee80211_rx_stats *stats) ieee80211_process_probe_response() argument
H A Dieee80211_softmac.c648 inline struct sk_buff *ieee80211_authentication_req(struct ieee80211_network *beacon, ieee80211_authentication_req() argument
668 memcpy(auth->header.addr1, beacon->bssid, ETH_ALEN); ieee80211_authentication_req()
670 memcpy(auth->header.addr3, beacon->bssid, ETH_ALEN); ieee80211_authentication_req()
983 inline struct sk_buff *ieee80211_association_req(struct ieee80211_network *beacon,struct ieee80211_device *ieee) ieee80211_association_req() argument
994 //unsigned int wpa_len = beacon->wpa_ie_len; ieee80211_association_req()
1008 unsigned int wmm_info_len = beacon->qos_data.supported?9:0; ieee80211_association_req()
1010 unsigned int turbo_info_len = beacon->Turbo_Enable?9:0; ieee80211_association_req()
1033 wmm_info_len = beacon->qos_data.supported?9:0; ieee80211_association_req()
1037 if (beacon->bCkipSupported) ieee80211_association_req()
1041 if (beacon->bCcxRmEnable) ieee80211_association_req()
1045 if (beacon->BssCcxVerNumber >= 2) ieee80211_association_req()
1050 + beacon->ssid_len//essid tagged val ieee80211_association_req()
1063 + beacon->ssid_len//essid tagged val ieee80211_association_req()
1088 memcpy(hdr->header.addr1, beacon->bssid, ETH_ALEN); ieee80211_association_req()
1090 memcpy(hdr->header.addr3, beacon->bssid, ETH_ALEN); ieee80211_association_req()
1092 memcpy(ieee->ap_mac_addr, beacon->bssid, ETH_ALEN);//for HW security, John ieee80211_association_req()
1095 if (beacon->capability & WLAN_CAPABILITY_PRIVACY ) ieee80211_association_req()
1098 if (beacon->capability & WLAN_CAPABILITY_SHORT_PREAMBLE) ieee80211_association_req()
1110 hdr->info_element[0].len = beacon->ssid_len; ieee80211_association_req()
1111 tag = skb_put(skb, beacon->ssid_len); ieee80211_association_req()
1112 memcpy(tag, beacon->ssid, beacon->ssid_len); ieee80211_association_req()
1119 if (beacon->bCkipSupported) { ieee80211_association_req()
1144 if (beacon->bCcxRmEnable) ieee80211_association_req()
1158 if (beacon->BssCcxVerNumber >= 2) { ieee80211_association_req()
1161 CcxVerNumBuf[4] = beacon->BssCcxVerNumber; ieee80211_association_req()
1260 struct ieee80211_network *beacon = &ieee->current_network; ieee80211_associate_step1() local
1266 skb=ieee80211_authentication_req(beacon, ieee, 0); ieee80211_associate_step1()
1290 struct ieee80211_network *beacon = &ieee->current_network; ieee80211_auth_challenge() local
1296 skb = ieee80211_authentication_req(beacon, ieee, chlen+2); ieee80211_auth_challenge()
1319 struct ieee80211_network *beacon = &ieee->current_network; ieee80211_associate_step2() local
1326 skb=ieee80211_association_req(beacon, ieee); ieee80211_associate_step2()
3110 struct ieee80211_network *beacon, ieee80211_disassociate_skb()
3125 memcpy(disass->header.addr1, beacon->bssid, ETH_ALEN); ieee80211_disassociate_skb()
3127 memcpy(disass->header.addr3, beacon->bssid, ETH_ALEN); ieee80211_disassociate_skb()
3141 struct ieee80211_network *beacon = &ieee->current_network; SendDisassociation() local
3143 skb = ieee80211_disassociate_skb(beacon,ieee,asRsn); SendDisassociation()
3109 ieee80211_disassociate_skb( struct ieee80211_network *beacon, struct ieee80211_device *ieee, u8 asRsn) ieee80211_disassociate_skb() argument
H A Dieee80211_module.c118 IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", alloc_ieee80211()
/linux-4.1.27/drivers/net/wireless/rt2x00/
H A Drt2x00queue.c728 if (unlikely(!intf->beacon)) rt2x00queue_clear_beacon()
732 * Clean up the beacon skb. rt2x00queue_clear_beacon()
734 rt2x00queue_free_skb(intf->beacon); rt2x00queue_clear_beacon()
737 * Clear beacon (single bssid devices don't need to clear the beacon rt2x00queue_clear_beacon()
738 * since the beacon queue will get stopped anyway). rt2x00queue_clear_beacon()
741 rt2x00dev->ops->lib->clear_beacon(intf->beacon); rt2x00queue_clear_beacon()
753 if (unlikely(!intf->beacon)) rt2x00queue_update_beacon()
757 * Clean up the beacon skb. rt2x00queue_update_beacon()
759 rt2x00queue_free_skb(intf->beacon); rt2x00queue_update_beacon()
761 intf->beacon->skb = ieee80211_beacon_get(rt2x00dev->hw, vif); rt2x00queue_update_beacon()
762 if (!intf->beacon->skb) rt2x00queue_update_beacon()
770 rt2x00queue_create_tx_descriptor(rt2x00dev, intf->beacon->skb, &txdesc, NULL); rt2x00queue_update_beacon()
775 skbdesc = get_skb_frame_desc(intf->beacon->skb); rt2x00queue_update_beacon()
777 skbdesc->entry = intf->beacon; rt2x00queue_update_beacon()
780 * Send beacon to hardware. rt2x00queue_update_beacon()
782 rt2x00dev->ops->lib->write_beacon(intf->beacon, &txdesc); rt2x00queue_update_beacon()
H A Drt2x00lib.h150 * rt2x00queue_update_beacon - Send new beacon from mac80211
153 * @vif: Interface for which the beacon should be updated.
159 * rt2x00queue_update_beacon_locked - Send new beacon from mac80211
162 * @vif: Interface for which the beacon should be updated.
168 * rt2x00queue_clear_beacon - Clear beacon in hardware
170 * @vif: Interface for which the beacon should be updated.
H A Drt2x00dump.h44 * - All outgoing frames (tx, including beacon and atim)
68 * @DUMP_FRAME_BEACON: This beacon frame is queued for transmission to the
H A Drt2x00dev.c217 * Update the beacon without locking. This is safe on PCI devices rt2x00lib_beaconupdate_iter()
218 * as they only update the beacon periodically here. This should rt2x00lib_beaconupdate_iter()
235 * Devices with pre tbtt interrupt don't need to update the beacon rt2x00lib_beacondone()
236 * here as they will fetch the next beacon directly prior to rt2x00lib_beacondone()
242 /* fetch next beacon */ rt2x00lib_beacondone()
254 /* fetch next beacon */ rt2x00lib_pretbtt()
511 pos = (u8 *)mgmt->u.beacon.variable; rt2x00lib_find_ie()
597 /* If this is not a beacon, or if mac80211 has no powersaving rt2x00lib_rxdone_check_ps()
604 /* min. beacon length + FCS_LEN */ rt2x00lib_rxdone_check_ps()
763 * Check if this is a beacon, and more frames have been rt2x00lib_rxdone()
1359 * beacon entries. rt2x00lib_probe_dev()
H A Drt2x00mac.c216 * Loop through all beacon queues to find a free rt2x00mac_add_interface()
217 * entry. Since there are as much beacon entries rt2x00mac_add_interface()
241 intf->beacon = entry; rt2x00mac_add_interface()
288 * Release beacon entry so it is available for rt2x00mac_remove_interface()
291 clear_bit(ENTRY_BCN_ASSIGNED, &intf->beacon->flags); rt2x00mac_remove_interface()
429 /* queue work to upodate the beacon template */ rt2x00mac_set_tim()
640 * -> stop beacon queue. rt2x00mac_bss_info_changed()
645 * Clear beacon in the H/W for this vif. This is needed rt2x00mac_bss_info_changed()
654 * Upload beacon to the H/W. This is only required on rt2x00mac_bss_info_changed()
663 * -> start beacon queue. rt2x00mac_bss_info_changed()
H A Drt2x00usb.c653 * If this is not the beacon queue or rt2x00usb_alloc_entries()
654 * no guardian byte was required for the beacon, rt2x00usb_alloc_entries()
688 * If this is not the beacon queue or rt2x00usb_free_entries()
689 * no guardian byte was required for the beacon, rt2x00usb_free_entries()
H A Drt73usb.c1257 * bits which (when set to 0) will invalidate the entire beacon. rt73usb_init_registers()
1538 * Disable beaconing while we are reloading the beacon data, rt73usb_write_beacon()
1553 * Write the TX descriptor for the beacon. rt73usb_write_beacon()
1558 * Dump beacon to userspace through debugfs. rt73usb_write_beacon()
1563 * Write entire beacon with descriptor and padding to register. rt73usb_write_beacon()
1567 rt2x00_err(rt2x00dev, "Failure padding beacon, aborting\n"); rt73usb_write_beacon()
1590 * Clean up the beacon skb. rt73usb_write_beacon()
1603 * Disable beaconing while we are reloading the beacon data, rt73usb_clear_beacon()
1612 * Clear beacon. rt73usb_clear_beacon()
H A Drt2x00.h356 * beacon->skb must be protected with the mutex.
361 * Entry in the beacon queue which belongs to
363 * dedicated beacon entry.
365 struct queue_entry *beacon; member in struct:rt2x00_intf
914 * Timestamp of last received beacon
H A Drt2500usb.c459 * Enable beacon config rt2500usb_config_intf()
1149 * Disable beaconing while we are reloading the beacon data, rt2500usb_write_beacon()
1163 * Write the TX descriptor for the beacon. rt2500usb_write_beacon()
1168 * Dump beacon to userspace through debugfs. rt2500usb_write_beacon()
1321 * Check if this was the guardian beacon, rt2500usb_beacondone()
1322 * if that was the case we need to send the real beacon now. rt2500usb_beacondone()
H A Drt2400pci.h205 * BEACON_GEN: Enable beacon generator.
263 * TBCN_BEFORE_WAKEUP: Number of beacon before wakeup.
585 * CHANGE: Write one to change beacon interval.
587 * NUM_BEACON: Number of beacon according to mode.
H A Drt2500pci.h282 * BEACON_GEN: Enable beacon generator.
340 * TBCN_BEFORE_WAKEUP: Number of beacon before wakeup.
690 * CHANGE: Write one to change beacon interval.
692 * NUM_BEACON: Number of beacon according to mode.
H A Drt2x00config.c105 /* Update global beacon interval time, this is needed for PS support */ rt2x00lib_config_erp()
/linux-4.1.27/drivers/net/wireless/ath/wcn36xx/
H A Dpmc.c34 * driver is trying to enter bmps before first beacon was wcn36xx_pmc_enter_bmps_state()
H A Dsmd.c1373 memcpy(&msg_body.beacon, &skb_beacon->len, sizeof(u32)); wcn36xx_smd_send_beacon()
1374 memcpy(&(msg_body.beacon[4]), skb_beacon->data, wcn36xx_smd_send_beacon()
1377 wcn36xx_err("Beacon is to big: beacon size=%d\n", wcn36xx_smd_send_beacon()
1386 /* mesh beacon don't need this, so push further down */ wcn36xx_smd_send_beacon()
1394 "hal send beacon beacon_length %d\n", wcn36xx_smd_send_beacon()
1991 wcn36xx_dbg(WCN36XX_DBG_HAL, "beacon missed bss_index %d\n", wcn36xx_smd_missed_beacon_ind()
2002 wcn36xx_warn("Corrupted missed beacon indication\n"); wcn36xx_smd_missed_beacon_ind()
2008 wcn36xx_dbg(WCN36XX_DBG_HAL, "beacon missed bss_index %d\n", wcn36xx_smd_missed_beacon_ind()
H A Dtxrx.c69 wcn36xx_dbg(WCN36XX_DBG_BEACON, "beacon skb %p len %d fc %04x sn %d\n", wcn36xx_rx_skb()
/linux-4.1.27/drivers/net/wireless/hostap/
H A Dhostap_80211.h58 } __packed beacon, probe_resp; member in union:hostap_ieee80211_mgmt::__anon7829
H A Dhostap_80211_rx.c403 if (skb->len < IEEE80211_MGMT_HDR_LEN + sizeof(mgmt->u.beacon)) hostap_rx_sta_beacon()
407 pos = mgmt->u.beacon.variable; hostap_rx_sta_beacon()
453 bss->capab_info = le16_to_cpu(mgmt->u.beacon.capab_info); hostap_rx_sta_beacon()
483 /* Process beacon frames also in kernel driver to hostap_rx_frame_mgmt()
H A Dhostap_ap.h93 unsigned long last_beacon; /* last RX beacon time */
/linux-4.1.27/include/linux/
H A Dnl802154.h22 #define IEEE802154_MCAST_BEACON_NAME "beacon"
H A Dieee802154.h48 #define IEEE802154_FC_TYPE_BEACON 0x0 /* Frame is beacon */
132 /* The beacon was lost following a synchronization request. */
H A Duwb.h48 * @bce: a beacon cache entry for this device; or NULL if the device
52 * @beacon_slot: the slot number the beacon is using.
282 * @ie: DRP Availability IE to be included in the beacon
352 * IEs (settable by the host) that the beacon of this
357 * prefix followed by all the IEs the beacon currently
614 * @UWB_NOTIF_ONAIR: a new neighbour has joined the beacon group.
615 * @UWB_NOTIF_OFFAIR: a neighbour has left the beacon group.
/linux-4.1.27/drivers/net/wireless/iwlwifi/dvm/
H A Dmain.c85 /* Parse the beacon frame to find the TIM element and set tim_idx & tim_size */ iwl_set_beacon_tim()
88 u8 *beacon, u32 frame_size) iwl_set_beacon_tim()
91 struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)beacon; iwl_set_beacon_tim()
95 * variable-length part of the beacon. iwl_set_beacon_tim()
97 tim_idx = mgmt->u.beacon.variable - beacon; iwl_set_beacon_tim()
99 /* Parse variable-length elements of beacon to find WLAN_EID_TIM */ iwl_set_beacon_tim()
101 (beacon[tim_idx] != WLAN_EID_TIM)) iwl_set_beacon_tim()
102 tim_idx += beacon[tim_idx+1] + 2; iwl_set_beacon_tim()
105 if ((tim_idx < (frame_size - 1)) && (beacon[tim_idx] == WLAN_EID_TIM)) { iwl_set_beacon_tim()
107 tx_beacon_cmd->tim_size = beacon[tim_idx+1]; iwl_set_beacon_tim()
109 IWL_WARN(priv, "Unable to find TIM Element in beacon\n"); iwl_set_beacon_tim()
125 * beacon contents. iwlagn_send_beacon_cmd()
131 IWL_ERR(priv, "trying to build beacon w/o beacon context!\n"); iwlagn_send_beacon_cmd()
138 /* Allocate beacon command */ iwlagn_send_beacon_cmd()
154 /* Set up TX beacon command fields */ iwlagn_send_beacon_cmd()
200 struct sk_buff *beacon; iwl_bg_beacon_update() local
204 IWL_ERR(priv, "updating beacon w/o beacon context!\n"); iwl_bg_beacon_update()
210 * The ucode will send beacon notifications even in iwl_bg_beacon_update()
218 /* Pull updated AP beacon from mac80211. will fail if not in AP mode */ iwl_bg_beacon_update()
219 beacon = ieee80211_beacon_get(priv->hw, priv->beacon_ctx->vif); iwl_bg_beacon_update()
220 if (!beacon) { iwl_bg_beacon_update()
221 IWL_ERR(priv, "update beacon failed -- keeping old\n"); iwl_bg_beacon_update()
225 /* new beacon skb is allocated every time; dispose previous.*/ iwl_bg_beacon_update()
228 priv->beacon_skb = beacon; iwl_bg_beacon_update()
1563 IWL_ERR(priv, "0x%08X | beacon time\n", table.bcon_time); iwl_dump_nic_error_log()
86 iwl_set_beacon_tim(struct iwl_priv *priv, struct iwl_tx_beacon_cmd *tx_beacon_cmd, u8 *beacon, u32 frame_size) iwl_set_beacon_tim() argument
H A Dcalib.c185 * MIN_FA/fixed-time < false_alarms/actual-rx-time < MAX_FA/beacon-time iwl_sens_energy_cck()
200 * networks, measured during silence before our network's beacon */ iwl_sens_energy_cck()
211 /* Store silence rssi in 20-beacon history table */ iwl_sens_energy_cck()
217 /* Find max silence rssi across 20 beacon history */ iwl_sens_energy_cck()
227 * measured during beacon frame. iwl_sens_energy_cck()
228 * Save it in 10-beacon history table. */ iwl_sens_energy_cck()
237 /* Find min rx energy (max value) across 10 beacon history. iwl_sens_energy_cck()
266 /* Store for "fewer than desired" on later beacon */ iwl_sens_energy_cck()
286 * 1a) previous beacon did *not* have *too many* false alarms iwl_sens_energy_cck()
288 * from a previous beacon with too many, or healthy # FAs iwl_sens_energy_cck()
308 /* Store for use in "fewer than desired" with later beacon */ iwl_sens_energy_cck()
311 /* If previous beacon had too many false alarms, iwl_sens_energy_cck()
715 * at each beacon. Calculate difference from last value, or just iwl_sensitivity_calibration()
1013 * Accumulate beacon statistics values across iwl_chain_noise_calibration()
1039 IWL_DEBUG_CALIB(priv, "chan=%d, band24=%d, beacon=%d\n", iwl_chain_noise_calibration()
H A Drx.c220 struct iwlagn_beacon_notif *beacon = (void *)pkt->data; iwlagn_rx_beacon_notif() local
222 u16 status = le16_to_cpu(beacon->beacon_notify_hdr.status.status); iwlagn_rx_beacon_notif()
223 u8 rate = iwl_hw_get_rate(beacon->beacon_notify_hdr.rate_n_flags); iwlagn_rx_beacon_notif()
225 IWL_DEBUG_RX(priv, "beacon status %#x, retries:%d ibssmgr:%d " iwlagn_rx_beacon_notif()
228 beacon->beacon_notify_hdr.failure_frame, iwlagn_rx_beacon_notif()
229 le32_to_cpu(beacon->ibss_mgr_status), iwlagn_rx_beacon_notif()
230 le32_to_cpu(beacon->high_tsf), iwlagn_rx_beacon_notif()
231 le32_to_cpu(beacon->low_tsf), rate); iwlagn_rx_beacon_notif()
234 priv->ibss_manager = le32_to_cpu(beacon->ibss_mgr_status); iwlagn_rx_beacon_notif()
308 * beacon, or any other uCode error condition detected. iwl_force_rf_reset()
342 * before arriving beacon. This measurement can be done only if we know
774 * the device waits for a beacon before allowing transmission, iwlagn_pass_packet_to_mac80211()
H A Drxon.c262 * If mac80211 hasn't given us a beacon interval, program iwl_adjust_beacon_interval()
271 * If the beacon interval we obtained from the peer iwl_adjust_beacon_interval()
273 * (and in IBSS case, we'll beacon too much) iwl_adjust_beacon_interval()
276 * requested beacon interval is 7000, we'll have to iwl_adjust_beacon_interval()
279 * This could badly influence beacon detection stats. iwl_adjust_beacon_interval()
350 "beacon interval %d beacon timer %d beacon tim %d\n", iwl_send_rxon_timing()
478 * enabled, but then we also need to send the beacon iwlagn_rxon_connect()
485 "Error sending required beacon (%d)!\n", iwlagn_rxon_connect()
506 /* IBSS beacon needs to be sent after setting assoc */ iwlagn_rxon_connect()
509 IWL_ERR(priv, "Error sending IBSS beacon\n"); iwlagn_rxon_connect()
578 "beacon intervals don't match (%d, %d)\n", iwlagn_set_pan_params()
1502 * If the ucode decides to do beacon filtering before iwlagn_bss_info_changed()
1545 IWL_ERR(priv, "Error updating beacon\n"); iwlagn_bss_info_changed()
H A Ddevices.c72 * iwl_beacon_time_mask_low - mask of lower 32 bit of beacon time
83 * iwl_beacon_time_mask_high - mask of higher 32 bit of beacon time
94 * extended beacon time format
96 * the extended part is the beacon counts
97 * the internal part is the time in usec within one beacon interval
H A Dcommands.h436 u32 bcon_time; /* beacon timer */
683 * 1- wait for beacon to resume transmits
687 * @switch_time: switch time in extended beacon format
704 * 1- wait for beacon to resume transmits
708 * @switch_time: switch time in extended beacon format
1115 __le32 beacon_time_stamp; /* beacon at on-air rise */
2013 __le32 duration; /* measurement duration in extended beacon
2030 __le32 start_time; /* start time in extended beacon format */
2323 * is how long (in "extended beacon" format) that the scan is "suspended"
2382 __le32 suspend_time; /* pause scan this long (in "extended beacon
2505 struct ieee80211_hdr frame[0]; /* beacon frame */
2597 __le32 beacon_silence_rssi_a; /* RSSI silence after beacon frame */
2598 __le32 beacon_silence_rssi_b; /* RSSI silence after beacon frame */
2599 __le32 beacon_silence_rssi_c; /* RSSI silence after beacon frame */
2769 * By default, uCode issues this notification after receiving a beacon
2773 * Statistics counters continue to increment beacon after beacon, but are
2801 * uCode send MISSED_BEACONS_NOTIFICATION to driver when detect beacon missed
2860 * received beacon. These provide information to the driver to analyze the
2871 * Measure of background noise in silent period after beacon.
2874 * uSecs of actual Rx time during beacon period (varies according to
2886 * beacon to beacon, i.e. each value is an accumulation of all errors
2887 * before and including the latest beacon. Values will wrap around to 0
2889 * previous beacon's values to determine # false alarms in the current
2890 * beacon period.
2913 * 1). 20-beacon history of maximum background noise, indicated by
2915 * 3 receivers. For any given beacon, the "silence reference" is
2918 * 2). 10-beacon history of strongest signal level, as indicated
2924 * Then for any given beacon, the driver must determine the *weakest*
2931 * 3). Number of consecutive beacon periods with too few false alarms.
2932 * Reset this to 0 at the first beacon period that falls within the
2966 * 1a) Previous beacon did not have too many false alarms
2969 * OR 2) 100 or more consecutive beacon periods have had rate of
2987 * 2) If previous beacon had too many CCK false alarms (+ plcp_errors),
2993 * detection over the past 10 beacon periods, the "Max cck energy".
3100 * average beacon signal levels for the 3 Rx chains. Accumulate (add) the
3119 * detected during the silence after each beacon (background noise).
3950 * bit4: filter beacon notification
H A Ddev.h62 * 1) Not associated no beacon statistics being sent to driver)
477 /* extend beacon time format bit shifting */
691 /* ucode beacon time */
695 /* track IBSS manager (last beacon) status */
775 /* Last Rx'd beacon timestamp */
H A Dscan.c47 * For the most reliable scan, set > AP beacon interval (typically 100msec). */
274 "(TSF: 0x%08X:%08X) - %d (beacon timer %u)\n", iwl_rx_scan_start_notif()
395 * of the beacon interval (minus 2 * channel tune time) iwl_limit_dwell()
712 IWL_DEBUG_SCAN(priv, "suspend_time 0x%X beacon interval %d\n", iwlagn_request_scan()
/linux-4.1.27/drivers/net/wireless/p54/
H A Dmain.c85 pos = (u8 *)mgmt->u.beacon.variable; p54_find_ie()
103 * The dummy TIM MUST be at the end of the beacon frame, p54_beacon_format_ie_tim()
142 struct sk_buff *beacon; p54_beacon_update() local
145 beacon = ieee80211_beacon_get(priv->hw, vif); p54_beacon_update()
146 if (!beacon) p54_beacon_update()
148 ret = p54_beacon_format_ie_tim(beacon); p54_beacon_update()
154 * The driver only needs to upload a new beacon template, once p54_beacon_update()
158 * to cancel the old beacon template by hand, instead the firmware p54_beacon_update()
161 p54_tx_80211(priv->hw, &control, beacon); p54_beacon_update()
269 * LMAC API 3.2.2 states that any active beacon template must be p54_remove_interface()
/linux-4.1.27/drivers/net/wireless/iwlegacy/
H A D4965-calib.c113 * MIN_FA/fixed-time < false_alarms/actual-rx-time < MAX_FA/beacon-time il4965_sens_energy_cck()
128 * networks, measured during silence before our network's beacon */ il4965_sens_energy_cck()
139 /* Store silence rssi in 20-beacon history table */ il4965_sens_energy_cck()
145 /* Find max silence rssi across 20 beacon history */ il4965_sens_energy_cck()
154 * measured during beacon frame. il4965_sens_energy_cck()
155 * Save it in 10-beacon history table. */ il4965_sens_energy_cck()
164 /* Find min rx energy (max value) across 10 beacon history. il4965_sens_energy_cck()
193 /* Store for "fewer than desired" on later beacon */ il4965_sens_energy_cck()
213 * 1a) previous beacon did *not* have *too many* false alarms il4965_sens_energy_cck()
215 * from a previous beacon with too many, or healthy # FAs il4965_sens_energy_cck()
235 /* Store for use in "fewer than desired" with later beacon */ il4965_sens_energy_cck()
238 /* If previous beacon had too many false alarms, il4965_sens_energy_cck()
548 * at each beacon. Calculate difference from last value, or just il4965_sensitivity_calibration()
841 * Accumulate beacon stats values across il4965_chain_noise_calibration()
867 D_CALIB("chan=%d, band24=%d, beacon=%d\n", rxon_chnum, rxon_band24, il4965_chain_noise_calibration()
H A Dcommands.h477 * __le32 bcon_time; beacon timer
1227 __le32 beacon_time_stamp; /* beacon at on-air rise */
2128 __le32 duration; /* measurement duration in extended beacon
2145 __le32 start_time; /* start time in extended beacon format */
2440 * is how long (in "extended beacon" format) that the scan is "suspended"
2493 __le32 suspend_time; /* pause scan this long (in "extended beacon
2537 __le32 suspend_time; /* pause scan this long (in "extended beacon
2667 struct ieee80211_hdr frame[0]; /* beacon frame */
2675 struct ieee80211_hdr frame[0]; /* beacon frame */
2831 __le32 beacon_silence_rssi_a; /* RSSI silence after beacon frame */
2832 __le32 beacon_silence_rssi_b; /* RSSI silence after beacon frame */
2833 __le32 beacon_silence_rssi_c; /* RSSI silence after beacon frame */
2962 * By default, uCode issues this notification after receiving a beacon
2966 * Statistics counters continue to increment beacon after beacon, but are
2994 * uCode send N_MISSED_BEACONS to driver when detect beacon missed
3052 * received beacon. These provide information to the driver to analyze the
3063 * Measure of background noise in silent period after beacon.
3066 * uSecs of actual Rx time during beacon period (varies according to
3078 * beacon to beacon, i.e. each value is an accumulation of all errors
3079 * before and including the latest beacon. Values will wrap around to 0
3081 * previous beacon's values to determine # false alarms in the current
3082 * beacon period.
3105 * 1). 20-beacon history of maximum background noise, indicated by
3107 * 3 receivers. For any given beacon, the "silence reference" is
3110 * 2). 10-beacon history of strongest signal level, as indicated
3116 * Then for any given beacon, the driver must determine the *weakest*
3123 * 3). Number of consecutive beacon periods with too few false alarms.
3124 * Reset this to 0 at the first beacon period that falls within the
3158 * 1a) Previous beacon did not have too many false alarms
3161 * OR 2) 100 or more consecutive beacon periods have had rate of
3179 * 2) If previous beacon had too many CCK false alarms (+ plcp_errors),
3185 * detection over the past 10 beacon periods, the "Max cck energy".
3236 * average beacon signal levels for the 3 Rx chains. Accumulate (add) the
3255 * detected during the silence after each beacon (background noise).
H A D4965-mac.c918 D_SCAN("suspend_time 0x%X beacon interval %d\n", il4965_request_scan()
1283 * before arriving beacon. This measurement can be done only if we know
2823 * note received beacon or other frame. We unblock queues in il4965_hdl_tx()
3769 /* Parse the beacon frame to find the TIM element and set tim_idx & tim_size */
3772 struct il_tx_beacon_cmd *tx_beacon_cmd, u8 * beacon, il4965_set_beacon_tim()
3776 struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)beacon; il4965_set_beacon_tim()
3780 * variable-length part of the beacon. il4965_set_beacon_tim()
3782 tim_idx = mgmt->u.beacon.variable - beacon; il4965_set_beacon_tim()
3784 /* Parse variable-length elements of beacon to find WLAN_EID_TIM */ il4965_set_beacon_tim()
3786 (beacon[tim_idx] != WLAN_EID_TIM)) il4965_set_beacon_tim()
3787 tim_idx += beacon[tim_idx + 1] + 2; il4965_set_beacon_tim()
3790 if ((tim_idx < (frame_size - 1)) && (beacon[tim_idx] == WLAN_EID_TIM)) { il4965_set_beacon_tim()
3792 tx_beacon_cmd->tim_size = beacon[tim_idx + 1]; il4965_set_beacon_tim()
3794 IL_WARN("Unable to find TIM Element in beacon\n"); il4965_set_beacon_tim()
3806 * beacon contents. il4965_hw_get_beacon_cmd()
3812 IL_ERR("Trying to build beacon without beaconing enabled\n"); il4965_hw_get_beacon_cmd()
3817 tx_beacon_cmd = &frame->u.beacon; il4965_hw_get_beacon_cmd()
3820 /* Set up TX beacon contents */ il4965_hw_get_beacon_cmd()
3837 /* Set up TX beacon command fields */ il4965_hw_get_beacon_cmd()
3861 IL_ERR("Could not obtain free frame buffer for beacon " il4965_send_beacon_cmd()
3868 IL_ERR("Error configuring the beacon command\n"); il4965_send_beacon_cmd()
4093 struct il4965_beacon_notif *beacon = il4965_hdl_beacon() local
4096 u8 rate = il4965_hw_get_rate(beacon->beacon_notify_hdr.rate_n_flags); il4965_hdl_beacon()
4098 D_RX("beacon status %x retries %d iss %d tsf:0x%.8x%.8x rate %d\n", il4965_hdl_beacon()
4099 le32_to_cpu(beacon->beacon_notify_hdr.u.status) & TX_STATUS_MSK, il4965_hdl_beacon()
4100 beacon->beacon_notify_hdr.failure_frame, il4965_hdl_beacon()
4101 le32_to_cpu(beacon->ibss_mgr_status), il4965_hdl_beacon()
4102 le32_to_cpu(beacon->high_tsf), le32_to_cpu(beacon->low_tsf), rate); il4965_hdl_beacon()
4104 il->ibss_manager = le32_to_cpu(beacon->ibss_mgr_status); il4965_hdl_beacon()
3771 il4965_set_beacon_tim(struct il_priv *il, struct il_tx_beacon_cmd *tx_beacon_cmd, u8 * beacon, u32 frame_size) il4965_set_beacon_tim() argument
H A Dcommon.c1261 * For the most reliable scan, set > AP beacon interval (typically 100msec). */
1422 "(TSF: 0x%08X:%08X) - %d (beacon timer %u)\n", notif->channel, il_hdl_scan_start()
1507 * dwell time to be 98% of the smallest beacon interval il_get_passive_dwell_time()
3612 * If mac80211 hasn't given us a beacon interval, program il_adjust_beacon_interval()
3619 * If the beacon interval we obtained from the peer il_adjust_beacon_interval()
3621 * (and in IBSS case, we'll beacon too much) il_adjust_beacon_interval()
3624 * requested beacon interval is 7000, we'll have to il_adjust_beacon_interval()
3627 * This could badly influence beacon detection stats. il_adjust_beacon_interval()
3678 D_ASSOC("beacon interval %d beacon timer %d beacon tim %d\n", il_send_rxon_timing()
3841 * the beacon skb from mac80211. il_get_lowest_plcp()
4884 * extended beacon time format
4886 * the extended part is the beacon counts
4887 * the internal part is the time in usec within one beacon interval
5190 /* new association get rid of ibss beacon skb */ il_mac_reset_tsf()
5305 IL_ERR("update beacon with no beaconing enabled\n"); il_beacon_update()
5317 timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp; il_beacon_update()
/linux-4.1.27/drivers/net/wireless/libertas_tf/
H A Dcmd.c169 int lbtf_beacon_set(struct lbtf_private *priv, struct sk_buff *beacon) lbtf_beacon_set() argument
176 if (beacon->len > MRVL_MAX_BCN_SIZE) { lbtf_beacon_set()
180 size = sizeof(cmd) - sizeof(cmd.beacon) + beacon->len; lbtf_beacon_set()
182 cmd.len = cpu_to_le16(beacon->len); lbtf_beacon_set()
183 memcpy(cmd.beacon, (u8 *) beacon->data, beacon->len); lbtf_beacon_set()
H A Dmain.c495 struct sk_buff *beacon; lbtf_op_bss_info_changed() local
502 beacon = ieee80211_beacon_get(hw, vif); lbtf_op_bss_info_changed()
503 if (beacon) { lbtf_op_bss_info_changed()
504 lbtf_beacon_set(priv, beacon); lbtf_op_bss_info_changed()
505 kfree_skb(beacon); lbtf_op_bss_info_changed()
H A Dlibertas_tf.h454 u8 beacon[MRVL_MAX_BCN_SIZE]; member in struct:cmd_ds_802_11_beacon_set
476 int lbtf_beacon_set(struct lbtf_private *priv, struct sk_buff *beacon);
/linux-4.1.27/drivers/net/wireless/ti/wl12xx/
H A Dacx.h161 /* the amount of missing beacon interrupts to the host */
200 * cont_miss_bcns_spread[0] - single missed beacon.
/linux-4.1.27/drivers/staging/rtl8188eu/include/
H A Drtl8188e_cmd.h70 u8 AwakeInterval; /* unit: beacon interval */
H A Dwlan_bssdef.h246 u8 Reserved[2];/* 0]: IS beacon frame */
256 u8 IEs[MAX_IE_SZ]; /* timestamp, beacon interval, and
H A Dieee80211_ext.h223 } __packed beacon; member in union:ieee80211_mgmt::__anon10136
/linux-4.1.27/drivers/staging/rtl8723au/core/
H A Drtw_wlan_util.c873 printk(KERN_WARNING "%s: received a non beacon frame!\n", rtw_check_bcn_info23a()
887 pie_len = pkt_len - offsetof(struct ieee80211_mgmt, u.beacon.variable); rtw_check_bcn_info23a()
890 p = cfg80211_find_ie(WLAN_EID_DS_PARAMS, mgmt->u.beacon.variable, rtw_check_bcn_info23a()
898 mgmt->u.beacon.variable, pie_len); rtw_check_bcn_info23a()
910 DBG_8723A("%s beacon channel:%d cur channel:%d disconnect\n", rtw_check_bcn_info23a()
917 p = cfg80211_find_ie(WLAN_EID_SSID, mgmt->u.beacon.variable, pie_len); rtw_check_bcn_info23a()
941 val16 = le16_to_cpu(mgmt->u.beacon.capab_info); rtw_check_bcn_info23a()
956 p = cfg80211_find_ie(WLAN_EID_RSN, mgmt->u.beacon.variable, pie_len); rtw_check_bcn_info23a()
971 mgmt->u.beacon.variable, pie_len); rtw_check_bcn_info23a()
1030 len = pkt_len - offsetof(struct ieee80211_mgmt, u.beacon.variable); update_beacon23a_info()
1032 p = cfg80211_find_ie(WLAN_EID_HT_OPERATION, mgmt->u.beacon.variable, update_beacon23a_info()
1037 p = cfg80211_find_ie(WLAN_EID_ERP_INFO, mgmt->u.beacon.variable, len); update_beacon23a_info()
H A Drtw_mlme_ext.c321 pmlmeext->TSFValue = get_unaligned_le64(&mgmt->u.beacon.timestamp); rtw_update_TSF()
800 pie = mgmt->u.beacon.variable; OnBeacon23a()
801 pie_len = pkt_len - offsetof(struct ieee80211_mgmt, u.beacon.variable); OnBeacon23a()
839 check_assoc_AP23a((u8 *)&mgmt->u.beacon, pkt_len - OnBeacon23a()
862 /* update WMM, ERP in the beacon */ OnBeacon23a()
864 the number of the beacon received */ OnBeacon23a()
874 /* update WMM, ERP in the beacon */ OnBeacon23a()
876 number of the beacon received */ OnBeacon23a()
2406 &mgmt->u.beacon.beacon_int); issue_beacon23a()
2409 &mgmt->u.beacon.capab_info); issue_beacon23a()
2411 pframe = mgmt->u.beacon.variable; issue_beacon23a()
2412 pattrib->pktlen = offsetof(struct ieee80211_mgmt, u.beacon.variable); issue_beacon23a()
2424 iebuf = mgmt->u.beacon.variable; issue_beacon23a()
2426 offsetof(struct ieee80211_mgmt, u.beacon.variable); issue_beacon23a()
2493 DBG_8723A("beacon frame too large\n"); issue_beacon23a()
4141 length -= offsetof(struct ieee80211_mgmt, u.beacon.variable); collect_bss_info()
4142 pie = mgmt->u.beacon.variable; collect_bss_info()
4145 get_unaligned_le16(&mgmt->u.beacon.capab_info); collect_bss_info()
4147 get_unaligned_le16(&mgmt->u.beacon.beacon_int); collect_bss_info()
4148 bssid->tsf = get_unaligned_le64(&mgmt->u.beacon.timestamp); collect_bss_info()
4168 length -= offsetof(struct ieee80211_mgmt, u.beacon.variable); collect_bss_info()
4169 pie = mgmt->u.beacon.variable; collect_bss_info()
4172 get_unaligned_le16(&mgmt->u.beacon.capab_info); collect_bss_info()
4339 /* issue beacon */ start_create_ibss()
4342 "issuing beacon frame fail....\n"); start_create_ibss()
4391 /* here wait for receiving the beacon to start auth */ start_clnt_join()
5113 /* start beacon */ mlmeext_sta_add_event_callback23a()
5372 DBG_8723A("link_timer_hdl:no beacon while connecting\n"); link_timer_hdl()
H A Drtw_ap.c645 /* if there is wpsie in beacon, the hostapd will update beacon twice when stating hostapd, */ start_bss_network()
646 /* and at first time the security ie (RSN/WPA IE) will not include in beacon. */ start_bss_network()
761 /* issue beacon frame */ start_bss_network()
789 u8 *pbuf = mgmt->u.beacon.variable; rtw_check_beacon_data23a()
791 len -= offsetof(struct ieee80211_mgmt, u.beacon.variable); rtw_check_beacon_data23a()
1009 /* issue beacon to start bss network */ rtw_check_beacon_data23a()
1025 /* for check if already set beacon */ rtw_check_beacon_data23a()
/linux-4.1.27/drivers/staging/rtl8192u/
H A Dr819xU_cmdpkt.c10 * 2. RX : Receive tx feedback, beacon state, query configuration
188 /* 87B have to S/W beacon for DTM encryption_cmn. */ cmdpkt_beacontimerinterrupt_819xusb()
194 DMESG("send beacon frame tx rate is 6Mbpm\n"); cmdpkt_beacontimerinterrupt_819xusb()
197 DMESG("send beacon frame tx rate is 1Mbpm\n"); cmdpkt_beacontimerinterrupt_819xusb()
246 /* Statistics of beacon for ad-hoc mode. */ cmpk_handle_interrupt_status()
H A Dr8192U_hw.h176 BCN_DRV_EARLY_INT = 0x074, // Driver Early Interrupt Time (TU). Time to send interrupt to notify to change beacon content before TBTT
177 BCN_DMATIME = 0x076, // Beacon DMA and ATIM interrupt time (US). Indicates the time before TBTT to perform beacon queue DMA
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8188ee/
H A Dfw.c524 /* page 0 beacon */
542 /* page 1 beacon */
642 u8 *beacon; rtl88e_set_fw_rsvdpagepkt() local
648 * (1) beacon rtl88e_set_fw_rsvdpagepkt()
651 beacon = &reserved_page_packet[BEACON_PG * 128]; rtl88e_set_fw_rsvdpagepkt()
652 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl88e_set_fw_rsvdpagepkt()
653 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl88e_set_fw_rsvdpagepkt()
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192c/
H A Dfw_common.c550 /* page 0 beacon */
568 /* page 1 beacon */
671 u8 *beacon; rtl92c_set_fw_rsvdpagepkt() local
676 (1) beacon rtl92c_set_fw_rsvdpagepkt()
678 beacon = &reserved_page_packet[BEACON_PG * 128]; rtl92c_set_fw_rsvdpagepkt()
679 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl92c_set_fw_rsvdpagepkt()
680 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl92c_set_fw_rsvdpagepkt()
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192de/
H A Dfw.c575 /* page 0 beacon */
593 /* page 1 beacon */
693 u8 *beacon; rtl92d_set_fw_rsvdpagepkt() local
698 (1) beacon rtl92d_set_fw_rsvdpagepkt()
700 beacon = &reserved_page_packet[BEACON_PG * 128]; rtl92d_set_fw_rsvdpagepkt()
701 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl92d_set_fw_rsvdpagepkt()
702 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl92d_set_fw_rsvdpagepkt()
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8723ae/
H A Dfw.c300 /* page 0 beacon */
318 /* page 1 beacon */
418 u8 *beacon; rtl8723e_set_fw_rsvdpagepkt() local
424 * (1) beacon rtl8723e_set_fw_rsvdpagepkt()
427 beacon = &reserved_page_packet[BEACON_PG * 128]; rtl8723e_set_fw_rsvdpagepkt()
428 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl8723e_set_fw_rsvdpagepkt()
429 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl8723e_set_fw_rsvdpagepkt()
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8723be/
H A Dfw.c292 /* page 0 beacon */
310 /* page 1 beacon */
413 u8 *beacon; rtl8723be_set_fw_rsvdpagepkt() local
418 * (1) beacon rtl8723be_set_fw_rsvdpagepkt()
421 beacon = &reserved_page_packet[BEACON_PG * 128]; rtl8723be_set_fw_rsvdpagepkt()
422 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl8723be_set_fw_rsvdpagepkt()
423 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl8723be_set_fw_rsvdpagepkt()
/linux-4.1.27/include/net/
H A Dregulatory.h121 * cfg80211 due to regulatory beacon hints. For more information on beacon
155 * beacon-hints, country-code IEs and hints from other devices on the same
H A Dmac80211.h279 * new beacon (beaconing modes)
294 * @BSS_CHANGED_BEACON_INFO: Data from the AP's beacon became available:
438 * @sync_tsf: last beacon's/probe response's TSF timestamp (could be old
441 * only come from a beacon, but might not become valid until after
442 * association when a beacon is received (which is notified with the
452 * @beacon_int: beacon interval
457 * @beacon_rate: associated AP's beacon TX rate
551 * @IEEE80211_TX_CTL_SEND_AFTER_DTIM: send this frame after DTIM beacon
1220 * @listen_interval: listen interval in units of beacon interval
1221 * @max_sleep_period: the maximum number of beacon intervals to sleep for
1222 * before checking the beacon for a TIM bit (managed mode only); this
1227 * in power saving. Power saving will not be enabled until a beacon
1295 * @IEEE80211_VIF_BEACON_FILTER: the device performs beacon filtering
1332 * @cab_queue: content-after-beacon (DTIM beacon really) queue, AP mode only
1763 * periodic keep-alives to the AP and probing the AP on beacon loss.
1766 * This device needs to get data from beacon before association (i.e.
1813 * @IEEE80211_HW_TIMING_BEACON_ONLY: Use sync timing from beacon frames
1814 * only, to allow getting TBTT of a DTIM beacon.
1887 * @extra_beacon_tailroom: tailroom to reserve in each beacon tx skb.
1893 * @max_listen_interval: max listen interval in units of beacon interval
2183 * buffered multicast/broadcast frames after the beacon. Also it must be
2226 * Some hardware have beacon filter support to reduce host cpu wakeups
2228 * the firmware creates a checksum of the beacon but omits all constantly
2230 * beacon is forwarded to the host, otherwise it will be just dropped. That
2235 * interface capability. The driver needs to enable beacon filter support
2237 * power save is enabled, the stack will not check for beacon loss and the
2241 * driver of a beacon loss event (which in turn causes the driver to call
2259 * elements appearing or disappearing from the beacon.
2270 * host of changes in the beacon RSSI. This is relevant to implement roaming
2279 * periodically pass beacon frames to the host so that software can do the
2886 * @sta_statistics: Get statistics for this station. For example with beacon
2915 * @tx_last_beacon: Determine whether the last IBSS beacon was sent by us.
2918 * Returns non-zero if this device sent the last beacon.
3092 * information in bss_conf is set and beacon can be retrieved. A channel
3095 * just "paused" for scanning/ROC, which is indicated by the beacon being
3115 * 1 using ieee80211_csa_is_complete() after the beacon has been
3118 * since there won't be any time to beacon before the switch anyway.
3128 * information in bss_conf is set up and the beacon can be retrieved. A
3887 * struct ieee80211_mutable_offsets - mutable beacon offsets
3902 * ieee80211_beacon_get_template - beacon template generation function
3909 * obtain the beacon template.
3911 * This function should be used if the beacon frames are generated by the
3912 * device, and then the driver must use the returned beacon as the template
3918 * Return: The beacon template. %NULL on error.
3926 * ieee80211_beacon_get_tim - beacon generation function
3936 * obtain the beacon frame.
3938 * If the beacon frames are generated by the host system (i.e., not in
3939 * hardware/firmware), the driver uses this function to get each beacon
3941 * once before the beacon is needed (e.g. based on hardware interrupt).
3945 * Return: The beacon template. %NULL on error.
3952 * ieee80211_beacon_get - beacon generation function
3970 * The csa counter should be updated after each beacon transmission.
3973 * beacon frames are generated by the device, the driver should call this
3974 * function after each beacon transmission to sync mac80211's csa counters.
4168 * frame. In most cases, this is used when generating beacon frame.
4173 * Note: buffered frames are returned only after DTIM beacon frame was
4176 * NULL if the previous generated beacon was not DTIM, so the low-level driver
4865 * When beacon filtering is enabled with %IEEE80211_VIF_BEACON_FILTER and
4876 * When beacon filtering is enabled with %IEEE80211_VIF_BEACON_FILTER, and
4927 * ieee80211_cqm_beacon_loss_notify - inform CQM of beacon loss
H A Dcfg80211.h158 * @beacon_found: helper to regulatory code to indicate when a beacon
640 * struct cfg80211_beacon_data - beacon data
641 * @head: head portion of beacon (before TIM IE)
643 * @tail: tail portion of beacon (after TIM IE)
698 * @beacon: beacon data
699 * @beacon_interval: beacon interval
718 struct cfg80211_beacon_data beacon; member in struct:cfg80211_ap_settings
740 * @beacon_csa: beacon data while performing the switch
741 * @counter_offsets_beacon: offsets of the counters within the beacon (tail)
743 * @n_counter_offsets_beacon: number of csa counters the beacon (tail)
745 * @beacon_after: beacon data to be used on the new channel
982 * @beacon_interval: beacon interval
1049 * @beacon_loss_count: Number of times beacon loss event has triggered.
1292 * after transmitting its beacon.
1343 * @beacon_interval: beacon interval to use
1580 * @from_beacon: these IEs are known to come from a beacon
1600 * @beacon_interval: the beacon interval as from the frame
1612 * a BSS that hides the SSID in its beacon, this points to the BSS struct
1613 * that holds the beacon data. @beacon_ies is still valid, of course, and
1780 * @ie: information element(s) to include in the beacon
1782 * @beacon_interval: beacon interval to use
2234 * @change_beacon: Change the beacon parameters for an access point mode
2805 * @beacon_int_infra_match: In this combination, the beacon intervals
3414 * @beacon_interval: beacon interval used on this device for transmitting
3955 * @mgmt: the management frame (probe response or beacon)
3987 * from a beacon or probe response
3988 * @CFG80211_BSS_FTYPE_BEACON: data comes from a beacon
4005 * @tsf: the TSF sent by the peer in the beacon/probe response (or 0)
4007 * @beacon_interval: the beacon interval announced by the peer
4214 * either a beacon has to have been received from the IBSS, or one of
4216 * with the locally generated beacon -- this guarantees that there is
4232 * detected, most likely via a beacon or, less likely, via a probe response.
4742 * cfg80211_cqm_beacon_loss_notify - beacon loss event
4746 * Notify userspace about beacon loss from the connected AP.
4841 * cfg80211_report_obss_beacon - report beacon from other APs
4842 * @wiphy: The wiphy that received the beacon
4848 * Use this function to report to userspace when a beacon was
/linux-4.1.27/drivers/staging/rtl8723au/include/
H A Drtl8723a_cmd.h64 u8 AwakeInterval; /* unit: beacon interval */
H A Dwlan_bssdef.h88 u8 IEs[MAX_IE_SZ]; /* timestamp, beacon interval, and capability info*/
H A DHal8723APhyCfg.h141 /* Modify the value of the hw register when beacon interval be changed. */
/linux-4.1.27/drivers/net/wireless/b43legacy/
H A Dmain.c1004 ie = bcn->u.beacon.variable; b43legacy_write_beacon_template()
1005 variable_len = len - offsetof(struct ieee80211_mgmt, u.beacon.variable); b43legacy_write_beacon_template()
1016 /* Check whether the ie_len is in the beacon data range. */ b43legacy_write_beacon_template()
1026 u.beacon.variable); b43legacy_write_beacon_template()
1041 "beacon template packet. AP or IBSS operation " b43legacy_write_beacon_template()
1044 b43legacydbg(dev->wl, "Updated beacon template\n"); b43legacy_write_beacon_template()
1073 * just patches custom beacon template by:
1095 u.beacon.variable)); b43legacy_generate_probe_resp()
1198 /* This is the bottom half of the asynchronous beacon update. */ handle_irq_beacon()
1215 /* We never uploaded a beacon before. handle_irq_beacon()
1248 /* Update beacon right away or defer to IRQ. */ b43legacy_beacon_update_trigger_work()
1263 struct sk_buff *beacon; b43legacy_update_templates() local
1264 /* This is the top half of the ansynchronous beacon update. The bottom b43legacy_update_templates()
1265 * half is the beacon IRQ. Beacon update must be asynchronous to avoid b43legacy_update_templates()
1266 * sending an invalid beacon. This can happen for example, if the b43legacy_update_templates()
1267 * firmware transmits a beacon while we are updating it. */ b43legacy_update_templates()
1269 /* We could modify the existing beacon and set the aid bit in the TIM b43legacy_update_templates()
1271 * within the beacon template. Simply request a new beacon and let b43legacy_update_templates()
1273 beacon = ieee80211_beacon_get(wl->hw, wl->vif); b43legacy_update_templates()
1274 if (unlikely(!beacon)) b43legacy_update_templates()
1279 wl->current_beacon = beacon; b43legacy_update_templates()
1299 b43legacydbg(dev->wl, "Set beacon interval to %u\n", beacon_int); b43legacy_set_beacon_int()
H A Db43legacy.h129 /* SHM_SHARED beacon/AP variables */
134 #define B43legacy_SHM_SH_TIMPOS 0x001E /* TIM position in beacon */
619 /* The beacon we are currently using (AP or IBSS mode).
620 * This beacon stuff is protected by the irq_lock. */
/linux-4.1.27/drivers/net/ethernet/qlogic/qlcnic/
H A Dqlcnic_sysfs.c99 static int qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon, qlcnic_validate_beacon() argument
102 *rate = LSB(beacon); qlcnic_validate_beacon()
103 *state = MSB(beacon); qlcnic_validate_beacon()
165 u16 beacon; qlcnic_82xx_store_beacon() local
171 memcpy(&beacon, buf, sizeof(u16)); qlcnic_82xx_store_beacon()
172 err = qlcnic_validate_beacon(adapter, beacon, &b_state, &b_rate); qlcnic_82xx_store_beacon()
1198 .attr = {.name = "beacon", .mode = (S_IRUGO | S_IWUSR)},
1369 dev_info(dev, "failed to create beacon sysfs entry"); qlcnic_create_diag_entries()
/linux-4.1.27/drivers/staging/rtl8712/
H A Dwlan_bssdef.h109 /*(timestamp, beacon interval, and capability information) */
262 u8 IEs[MAX_IE_SZ]; /* (timestamp, beacon interval, and capability
H A Drtl871x_cmd.h371 AP: AP can use the info for the contents of beacon frame
589 u8 bcn_pass_cnt; /* fw report one beacon information to
592 u8 bcn_to; /* beacon TO (ms). ¡§=0¡¨ no limit.*/
H A Drtl8712_cmd.c78 * Adhoc mode: beacon.
79 * Infrastructure mode: beacon , data. */ query_fw_rx_phy_status()
/linux-4.1.27/drivers/staging/rtl8192e/rtl8192e/
H A Dr8192E_cmdpkt.c161 DMESG("send beacon frame tx rate is 6Mbpm\n"); cmdpkt_beacontimerinterrupt_819xusb()
163 DMESG("send beacon frame tx rate is 1Mbpm\n"); cmdpkt_beacontimerinterrupt_819xusb()
/linux-4.1.27/include/scsi/fc/
H A Dfc_fip.h43 #define FIP_VN_BEACON_FUZZ 100 /* random time to add to beacon period (ms) */
124 FIP_SC_VN_BEACON = 5, /* beacon */
/linux-4.1.27/drivers/net/fddi/skfp/
H A Dfplustm.c426 How to test directed beacon frames
442 beacon frames on the UPPSLANA.
452 * enable FORMAC to send endless queue of directed beacon directed_beacon()
470 setup claim & beacon pointer
499 * build beacon packet build_claim_beacon()
505 mac->mac_dest = null_addr ; /* DA == 0 in beacon frame */ build_claim_beacon()
510 /* set beacon start pointer */ build_claim_beacon()
514 * build directed beacon packet build_claim_beacon()
529 /* end of claim/beacon queue */ build_claim_beacon()
855 * FORMAC+ full init. (tx, rx, timer, counter, claim & beacon)
H A Drmt.c336 * check the "stuck beacon" condition. rmt_fsm()
415 * check the "stuck beacon" condition. rmt_fsm()
/linux-4.1.27/drivers/net/wireless/ath/ath6kl/
H A Dcfg80211.c2699 static int ath6kl_get_rsn_capab(struct cfg80211_beacon_data *beacon, ath6kl_get_rsn_capab() argument
2706 if (!beacon->tail) ath6kl_get_rsn_capab()
2709 rsn_ie = cfg80211_find_ie(WLAN_EID_RSN, beacon->tail, beacon->tail_len); ath6kl_get_rsn_capab()
2774 res = ath6kl_set_ies(vif, &info->beacon); ath6kl_start_ap()
2782 ath6kl_warn("Failed to set beacon interval: %d\n", ret); ath6kl_start_ap()
2789 ath6kl_warn("Failed to set dtim_period in beacon: %d\n", ret); ath6kl_start_ap()
2791 if (info->beacon.head == NULL) ath6kl_start_ap()
2793 mgmt = (struct ieee80211_mgmt *) info->beacon.head; ath6kl_start_ap()
2794 ies = mgmt->u.beacon.variable; ath6kl_start_ap()
2795 if (ies > info->beacon.head + info->beacon.head_len) ath6kl_start_ap()
2797 ies_len = info->beacon.head + info->beacon.head_len - ies; ath6kl_start_ap()
2925 * advertise the same in beacon/probe response. Send ath6kl_start_ap()
2928 if (!ath6kl_get_rsn_capab(&info->beacon, (u8 *) &rsn_capab) && ath6kl_start_ap()
2949 struct cfg80211_beacon_data *beacon) ath6kl_change_beacon()
2959 return ath6kl_set_ies(vif, beacon); ath6kl_change_beacon()
2948 ath6kl_change_beacon(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_beacon_data *beacon) ath6kl_change_beacon() argument
/linux-4.1.27/drivers/net/wireless/rtlwifi/
H A Dps.c523 /* check if this really is a beacon */ rtl_swlps_beacon()
527 /* min. beacon length + FCS_LEN */ rtl_swlps_beacon()
646 /* here is power save alg, when this beacon is DTIM rtl_swlps_rf_sleep()
648 * when this beacon is not DTIM, we will set sleep rtl_swlps_rf_sleep()
729 pos = (u8 *)mgmt->u.beacon.variable; rtl_p2p_noa_ie()
985 /* min. beacon length + FCS_LEN */ rtl_p2p_info()
993 /* check if this really is a beacon */ rtl_p2p_info()
H A Dpci.c973 /*<1> beacon related */ _rtl_pci_interrupt()
976 "beacon ok interrupt!\n"); _rtl_pci_interrupt()
981 "beacon err interrupt!\n"); _rtl_pci_interrupt()
985 RT_TRACE(rtlpriv, COMP_INTR, DBG_TRACE, "beacon interrupt!\n"); _rtl_pci_interrupt()
990 "prepare beacon for interrupt!\n"); _rtl_pci_interrupt()
1139 /*NB: the beacon data buffer must be 32-bit aligned. */ _rtl_pci_prepare_bcn_tasklet()
1183 *we just alloc 2 desc for beacon queue, _rtl_pci_init_trx_var()
1184 *because we just need first desc in hw beacon. _rtl_pci_init_trx_var()
H A Ddebug.h85 #define COMP_BEACON BIT(10) /*For beacon. */
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192ee/
H A Dfw.c553 /* page 0 beacon */
571 /* page 1 beacon */
672 u8 *beacon; rtl92ee_set_fw_rsvdpagepkt() local
677 * (1) beacon rtl92ee_set_fw_rsvdpagepkt()
680 beacon = &reserved_page_packet[BEACON_PG * 128]; rtl92ee_set_fw_rsvdpagepkt()
681 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl92ee_set_fw_rsvdpagepkt()
682 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl92ee_set_fw_rsvdpagepkt()
/linux-4.1.27/drivers/net/wireless/rtl818x/rtl8187/
H A Ddev.c478 * - 0 indicates tx beacon interrupt rtl8187b_status_cb()
481 * In the case of tx beacon interrupt: rtl8187b_status_cb()
1079 /* grab a fresh beacon */ rtl8187_beacon_work()
1085 * update beacon timestamp w/ TSF value rtl8187_beacon_work()
1086 * TODO: make hardware update beacon timestamp rtl8187_beacon_work()
1089 mgmt->u.beacon.timestamp = cpu_to_le64(rtl8187_get_tsf(dev, vif)); rtl8187_beacon_work()
1091 /* TODO: use actual beacon queue */ rtl8187_beacon_work()
1098 * schedule next beacon rtl8187_beacon_work()
1099 * TODO: use hardware support for beacon timing rtl8187_beacon_work()
/linux-4.1.27/drivers/net/wireless/ath/carl9170/
H A Dtx.c1541 /* The AR9170 hardware has no fancy beacon queue or some carl9170_pick_beaconing_vif()
1543 * due by setting the two beacon timers (pretbtt and tbtt) carl9170_pick_beaconing_vif()
1544 * once and then swapping the beacon address in the HW's carl9170_pick_beaconing_vif()
1632 if (cvif->beacon) carl9170_update_beacon()
1633 old = (__le32 *)cvif->beacon->data; carl9170_update_beacon()
1641 wiphy_err(ar->hw->wiphy, "beacon does not " carl9170_update_beacon()
1682 dev_kfree_skb_any(cvif->beacon); carl9170_update_beacon()
1683 cvif->beacon = NULL; carl9170_update_beacon()
1687 cvif->beacon = skb; carl9170_update_beacon()
H A Drx.c224 * (IBSS) beacon send notification carl9170_handle_command_response()
495 pos = (u8 *)mgmt->u.beacon.variable; carl9170_find_ie()
513 * the AP is expected to transmit the next beacon.
530 /* min. beacon length + FCS_LEN */ carl9170_ps_beacon()
534 /* check if this really is a beacon */ carl9170_ps_beacon()
667 * the driver/firmware. We have to check each incoming beacon carl9170_handle_mpdu()
H A Dmain.c316 dev_kfree_skb_any(cvif->beacon); carl9170_zap_queues()
317 cvif->beacon = NULL; carl9170_zap_queues()
618 dev_kfree_skb_any(vif_priv->beacon); carl9170_op_add_interface()
619 vif_priv->beacon = NULL; carl9170_op_add_interface()
809 dev_kfree_skb_any(vif_priv->beacon); carl9170_op_remove_interface()
810 vif_priv->beacon = NULL; carl9170_op_remove_interface()
/linux-4.1.27/include/linux/uwb/
H A Dspec.h86 * The length of the beacon slot in microseconds.
263 * uwb_beacon_frame - a beacon frame including MAC headers
642 /* Type of the received beacon. [WHCI] section 3.1.4.2. */
/linux-4.1.27/drivers/net/wireless/ath/ath10k/
H A Dwmi.h644 /* beacon/management specific commands */
794 /* beacon/mgmt specific events */
892 /* beacon/management specific commands */
972 /* transmit beacon by value */
1011 /* beacon/mgmt specific events */
1510 * Max beacon and Probe Response IE offload size
2532 /* wmi CSA receive event from beacon frame */
2681 /* beacon filter status update period */
2772 /* beacon filter status update period */
3292 /* beacon interval from received beacon */
3294 /* DTIM Period from the received beacon */
3300 /* beacon/probe reponse xmit rate. Applicable for SoftAP. */
3302 /* beacon/probe reponse xmit power. Applicable for SoftAP. */
3504 /* beacon interval in TUs */
3527 /* DTIM period (specified in units of num beacon intervals) */
3635 /* beacon interval in TUs */
3658 /* DTIM period (specified in units of num beacon intervals) */
3990 /* beacon probe capabilities and IEs */
3992 /* beacon buffer length */
4001 /* beacon probe capabilities and IEs */
4003 /* beacon buffer length */
4053 * bit set in the received beacon frame from AP.
4068 * Number of tx frames/beacon that cause the power save SM to wake up.
4080 * Values greater than one indicate that many TX attempts per beacon
4548 /* Maximum listen interval supported by hw in units of beacon interval */
H A Dmac.c530 if (!arvif->beacon) ath10k_mac_vif_beacon_free()
534 dma_unmap_single(ar->dev, ATH10K_SKB_CB(arvif->beacon)->paddr, ath10k_mac_vif_beacon_free()
535 arvif->beacon->len, DMA_TO_DEVICE); ath10k_mac_vif_beacon_free()
541 dev_kfree_skb_any(arvif->beacon); ath10k_mac_vif_beacon_free()
543 arvif->beacon = NULL; ath10k_mac_vif_beacon_free()
1001 mgmt->u.beacon.variable, ath10k_mac_setup_bcn_p2p_ie()
1002 bcn->len - (mgmt->u.beacon.variable - ath10k_mac_setup_bcn_p2p_ie()
1061 ath10k_warn(ar, "failed to get beacon template from mac80211\n"); ath10k_mac_setup_bcn_tmpl()
1073 * so remove it from the base beacon template to avoid duplicate P2P ath10k_mac_setup_bcn_tmpl()
1074 * IEs in beacon frames. ath10k_mac_setup_bcn_tmpl()
1078 u.beacon.variable)); ath10k_mac_setup_bcn_tmpl()
1085 ath10k_warn(ar, "failed to submit beacon template command: %d\n", ath10k_mac_setup_bcn_tmpl()
1606 beacon interval. Currently we don't know ath10k_peer_assoc_qos_ap()
2399 * those frames when it detects link/beacon loss and depends ath10k_tx_htt()
3265 /* Some firmware revisions don't wait for beacon tx completion before ath10k_add_interface()
3267 * (freed) beacon data in some cases, e.g. tx credit starvation ath10k_add_interface()
3271 * because hw could beacon some random data on the air. On ath10k_add_interface()
3275 * Since there are no beacon tx completions (implicit nor explicit) ath10k_add_interface()
3278 * beacon tx commands. Worst case for this approach is some beacons may ath10k_add_interface()
3289 ath10k_warn(ar, "failed to allocate beacon buffer: %d\n", ath10k_add_interface()
3554 ath10k_warn(ar, "failed to set beacon interval for vdev %d: %i\n", ath10k_bss_info_changed()
3560 "vdev %d set beacon tx mode to staggered\n", ath10k_bss_info_changed()
3567 ath10k_warn(ar, "failed to set beacon mode for vdev %d: %i\n", ath10k_bss_info_changed()
3572 ath10k_warn(ar, "failed to update beacon template: %d\n", ath10k_bss_info_changed()
/linux-4.1.27/drivers/infiniband/ulp/isert/
H A Dib_isert.h183 struct ib_recv_wr beacon; member in struct:isert_conn
/linux-4.1.27/drivers/net/wireless/b43/
H A Dmain.c1628 /* Clone the beacon, so it cannot go away, while we write it to hw. */ b43_write_beacon_template()
1633 b43dbg(dev->wl, "Could not upload beacon. " b43_write_beacon_template()
1634 "Failed to clone beacon skb."); b43_write_beacon_template()
1662 ie = bcn->u.beacon.variable; b43_write_beacon_template()
1663 variable_len = len - offsetof(struct ieee80211_mgmt, u.beacon.variable); b43_write_beacon_template()
1674 /* Check whether the ie_len is in the beacon data range. */ b43_write_beacon_template()
1683 tim_position += offsetof(struct ieee80211_mgmt, u.beacon.variable); b43_write_beacon_template()
1698 * If ucode wants to modify TIM do it behind the beacon, this b43_write_beacon_template()
1707 b43dbg(dev->wl, "Updated beacon template at 0x%x\n", ram_offset); b43_write_beacon_template()
1742 /* This is the bottom half of the asynchronous beacon update. */ handle_irq_beacon()
1759 /* We never uploaded a beacon before. handle_irq_beacon()
1786 /* update beacon right away or defer to irq */ b43_do_beacon_update_trigger_work()
1829 struct sk_buff *beacon, *old_beacon; b43_update_templates() local
1832 /* This is the top half of the asynchronous beacon update. b43_update_templates()
1833 * The bottom half is the beacon IRQ. b43_update_templates()
1835 * invalid beacon. This can happen for example, if the firmware b43_update_templates()
1836 * transmits a beacon while we are updating it. */ b43_update_templates()
1838 /* We could modify the existing beacon and set the aid bit in b43_update_templates()
1840 * moving of data within the beacon template. b43_update_templates()
1841 * Simply request a new beacon and let mac80211 do the hard work. */ b43_update_templates()
1842 beacon = ieee80211_beacon_get(wl->hw, wl->vif); b43_update_templates()
1843 if (unlikely(!beacon)) b43_update_templates()
1848 wl->current_beacon = beacon; b43_update_templates()
1870 b43dbg(dev->wl, "Set beacon interval to %u\n", beacon_int); b43_set_beacon_int()
/linux-4.1.27/drivers/staging/rtl8723au/os_dep/
H A Dioctl_cfg80211.c1022 /* cur_bwmod is updated by beacon, pmlmeinfo is rtw_get_cur_max_rate()
2741 if (head_len < offsetof(struct ieee80211_mgmt, u.beacon.variable)) rtw_add_beacon()
2749 bss->beacon_interval = get_unaligned_le16(&mgmt->u.beacon.beacon_int); rtw_add_beacon()
2750 bss->capability = get_unaligned_le16(&mgmt->u.beacon.capab_info); rtw_add_beacon()
2751 bss->tsf = get_unaligned_le64(&mgmt->u.beacon.timestamp); rtw_add_beacon()
2753 /* 24 = beacon header len. */ rtw_add_beacon()
2758 ielen = len - offsetof(struct ieee80211_mgmt, u.beacon.variable); rtw_add_beacon()
2762 tmpmgmt->u.beacon.variable, ielen)) rtw_add_beacon()
2766 rtw_ies_remove_ie23a(tmpmgmt->u.beacon.variable, &ielen, 0, rtw_add_beacon()
2768 rtw_ies_remove_ie23a(tmpmgmt->u.beacon.variable, &ielen, 0, rtw_add_beacon()
2771 len = ielen + offsetof(struct ieee80211_mgmt, u.beacon.variable); rtw_add_beacon()
2793 ret = rtw_add_beacon(adapter, settings->beacon.head, cfg80211_rtw_start_ap()
2794 settings->beacon.head_len, settings->beacon.tail, cfg80211_rtw_start_ap()
2795 settings->beacon.tail_len); cfg80211_rtw_start_ap()
/linux-4.1.27/drivers/staging/rtl8188eu/core/
H A Drtw_ap.c732 /* if there is wpsie in beacon, the hostapd will update beacon twice when stating hostapd, */ start_bss_network()
733 /* and at first time the security ie (RSN/WPA IE) will not include in beacon. */ start_bss_network()
828 /* issue beacon frame */ start_bss_network()
891 /* beacon interval */ rtw_check_beacon_data()
1091 /* issue beacon to start bss network */ rtw_check_beacon_data()
1105 pmlmepriv->cur_network.join_res = true;/* for check if already set beacon */ rtw_check_beacon_data()
/linux-4.1.27/include/uapi/linux/
H A Dnl80211.h222 * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface
224 * attributes. For drivers that generate the beacon and probe responses
377 * @NL80211_CMD_REG_BEACON_HINT: indicates to userspace that an AP beacon
387 * enabled world wide. This beacon hint is only sent if your device had
392 * the beacon hint was processed.
443 * may be rejected. Another optional parameter is the beacon interval,
592 * beacon or probe response from a compatible mesh peer. This is only
750 * in the beacon for some time (as defined in the
1096 * @NL80211_ATTR_BEACON_INTERVAL: beacon interval in TU
1098 * @NL80211_ATTR_BEACON_HEAD: portion of the beacon before the TIM IE
1099 * @NL80211_ATTR_BEACON_TAIL: portion of the beacon after the TIM IE
1201 * due to considerations from a beacon hint. This attribute reflects
1202 * the state of the channel _before_ the beacon hint processing. This
1206 * due to considerations from a beacon hint. This attribute reflects
1207 * the state of the channel _after_ the beacon hint processing. This
2411 * @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32)
3333 * @NL80211_BSS_TSF: TSF of the received probe response/beacon (u64)
3335 * from a probe response, otherwise it may be from the same beacon
3337 * @NL80211_BSS_BEACON_INTERVAL: beacon interval of the (I)BSS (u16)
3340 * raw information elements from the probe response/beacon (bin);
3348 * @NL80211_BSS_SIGNAL_MBM: signal strength of probe response/beacon
3350 * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon
3359 * @NL80211_BSS_BEACON_TSF: TSF of the last received beacon (u64)
3360 * (not present if no beacon frame has been received yet)
3607 * @NL80211_ATTR_CQM_BEACON_LOSS_EVENT: flag attribute that's set in a beacon
4021 * beacon intervals within this group must be all the same even for
4023 * the infrastructure network's beacon interval.
4268 * beacons or NL80211_CMD_NEW_PEER_CANDIDATE events. The mesh beacon is
/linux-4.1.27/drivers/scsi/bfa/
H A Dbfa_ioc.h526 typedef void (*bfa_cb_diag_beacon_t) (void *dev, bfa_boolean_t beacon,
605 bfa_boolean_t state; /* port beacon state */
606 bfa_boolean_t link_e2e; /* link beacon state */
617 struct bfa_diag_beacon_s beacon; member in struct:bfa_diag_s
659 bfa_boolean_t beacon, bfa_boolean_t link_e2e_beacon,
H A Dbfa_svc.h509 bfa_boolean_t beacon; /* port beacon status */ member in struct:bfa_fcport_s
510 bfa_boolean_t link_e2e_beacon; /* link beacon status */
561 void bfa_fcport_beacon(void *dev, bfa_boolean_t beacon,
/linux-4.1.27/drivers/net/wireless/ath/wil6210/
H A Dwmi.c338 u64 tsf = le64_to_cpu(rx_mgmt_frame->u.beacon.timestamp); wmi_evt_rx_mgmt()
339 u16 cap = le16_to_cpu(rx_mgmt_frame->u.beacon.capab_info); wmi_evt_rx_mgmt()
340 u16 bi = le16_to_cpu(rx_mgmt_frame->u.beacon.beacon_int); wmi_evt_rx_mgmt()
341 const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable; wmi_evt_rx_mgmt()
343 u.beacon.variable); wmi_evt_rx_mgmt()
H A Dcfg80211.c692 /* FW do not form regular beacon, so bcon IE's are not set wil_cfg80211_change_beacon()
725 struct cfg80211_beacon_data *bcon = &info->beacon; wil_cfg80211_start_ap()
768 * FW do not form regular beacon, so bcon IE's are not set wil_cfg80211_start_ap()
/linux-4.1.27/drivers/net/wireless/brcm80211/brcmfmac/
H A Dcfg80211.c90 #define DOT11_BCN_PRB_FIXED_LEN 12 /* beacon/probe fixed length */
1323 brcmf_dbg(CONN, "beacon interval: %d\n", brcmf_cfg80211_join_ibss()
1326 brcmf_dbg(CONN, "no beacon interval specified\n"); brcmf_cfg80211_join_ibss()
1860 * beacon from target AP at a noisy air only during connect brcmf_cfg80211_connect()
2438 brcmf_err("Could not get beacon period (%d)\n", brcmf_cfg80211_get_station()
2665 brcmf_dbg(CONN, "beacon interval: %d\n", notify_interval); wl_inform_ibss()
3948 struct cfg80211_beacon_data *beacon) brcmf_config_ap_mgmt_ie()
3954 beacon->tail, beacon->tail_len); brcmf_config_ap_mgmt_ie()
3963 beacon->proberesp_ies, brcmf_config_ap_mgmt_ie()
3964 beacon->proberesp_ies_len); brcmf_config_ap_mgmt_ie()
4005 country_ie = brcmf_parse_tlvs((u8 *)settings->beacon.tail, brcmf_cfg80211_start_ap()
4006 settings->beacon.tail_len, brcmf_cfg80211_start_ap()
4014 (u8 *)&settings->beacon.head[ie_offset], brcmf_cfg80211_start_ap()
4015 settings->beacon.head_len - ie_offset, brcmf_cfg80211_start_ap()
4034 rsn_ie = brcmf_parse_tlvs((u8 *)settings->beacon.tail, brcmf_cfg80211_start_ap()
4035 settings->beacon.tail_len, WLAN_EID_RSN); brcmf_cfg80211_start_ap()
4038 wpa_ie = brcmf_find_wpaie((u8 *)settings->beacon.tail, brcmf_cfg80211_start_ap()
4039 settings->beacon.tail_len); brcmf_cfg80211_start_ap()
4063 brcmf_config_ap_mgmt_ie(ifp->vif, &settings->beacon); brcmf_cfg80211_start_ap()
3947 brcmf_config_ap_mgmt_ie(struct brcmf_cfg80211_vif *vif, struct cfg80211_beacon_data *beacon) brcmf_config_ap_mgmt_ie() argument
H A Dcfg80211.h163 * @beacon_ie: IE info for beacon frame.
166 * @beacon_ie_len: IE info length for beacon frame.
/linux-4.1.27/drivers/net/wireless/brcm80211/brcmsmac/
H A Dmain.c47 /* beacon interval, in unit of 1024TU */
454 if (wlc->beacon) brcms_c_detach_mfree()
455 dev_kfree_skb_any(wlc->beacon); brcms_c_detach_mfree()
3607 * beacon. This should not be done in the inits. If brcms_c_ucode_mac_upd()
3608 * ucode needs to set up a beacon for testing, the brcms_c_ucode_mac_upd()
3610 * inits to populate a bogus beacon. brcms_c_ucode_mac_upd()
3902 /* wait for at least one beacon before entering sleeping state */ brcms_c_setband()
3964 * This function changes the phytxctl for beacon based on current
3965 * beacon ratespec AND txant setting as per this table:
5578 /* let watchdog or beacon processing update shortslot */ brcms_c_set_shortslot_override()
7003 /* Update beacon listen interval in shared memory */ brcms_c_bcn_li_upd()
7304 struct sk_buff *beacon, u16 tim_offset, brcms_c_beacon_write()
7313 tx_info = IEEE80211_SKB_CB(beacon); brcms_c_beacon_write()
7315 len = min_t(size_t, beacon->len, BCN_TMPL_LEN); brcms_c_beacon_write()
7319 len + FCS_LEN - D11_PHY_HDR_LEN, beacon->data); brcms_c_beacon_write()
7322 /* Update the phytxctl for the beacon based on the rspec */ brcms_c_beacon_write()
7328 (len + 3) & ~3, beacon->data); brcms_c_beacon_write()
7330 /* write beacon length to SCR */ brcms_c_beacon_write()
7336 (len + 3) & ~3, beacon->data); brcms_c_beacon_write()
7338 /* write beacon length to SCR */ brcms_c_beacon_write()
7354 struct sk_buff *beacon, u16 tim_offset, brcms_c_update_beacon_hw()
7372 brcms_c_beacon_write(wlc, beacon, tim_offset, dtim_period, true, brcms_c_update_beacon_hw()
7388 brcms_c_beacon_write(wlc, beacon, tim_offset, dtim_period, true, brcms_c_update_beacon_hw()
7395 brcms_c_beacon_write(wlc, beacon, tim_offset, dtim_period, brcms_c_update_beacon_hw()
7415 if (!wlc->beacon) brcms_c_update_beacon()
7417 brcms_c_update_beacon_hw(wlc, wlc->beacon, brcms_c_update_beacon()
7423 void brcms_c_set_new_beacon(struct brcms_c_info *wlc, struct sk_buff *beacon, brcms_c_set_new_beacon() argument
7426 if (!beacon) brcms_c_set_new_beacon()
7428 if (wlc->beacon) brcms_c_set_new_beacon()
7429 dev_kfree_skb_any(wlc->beacon); brcms_c_set_new_beacon()
7430 wlc->beacon = beacon; brcms_c_set_new_beacon()
7433 skb_push(wlc->beacon, D11_PHY_HDR_LEN); brcms_c_set_new_beacon()
7875 /* update beacon listen interval */ brcms_c_init()
7886 /* get beacon period and convert to uS */ brcms_c_init()
7303 brcms_c_beacon_write(struct brcms_c_info *wlc, struct sk_buff *beacon, u16 tim_offset, u16 dtim_period, bool bcn0, bool bcn1) brcms_c_beacon_write() argument
7353 brcms_c_update_beacon_hw(struct brcms_c_info *wlc, struct sk_buff *beacon, u16 tim_offset, u16 dtim_period) brcms_c_update_beacon_hw() argument
H A Dmain.h415 * bcn_li_bcn: beacon listen interval in # beacons.
416 * bcn_li_dtim: beacon listen interval in # dtims.
567 struct sk_buff *beacon; member in struct:brcms_c_info
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8821ae/
H A Dfw.c758 /* page 0: beacon */
993 /* page 0: beacon */
1462 u8 *beacon; rtl8812ae_set_fw_rsvdpagepkt() local
1469 * (1) beacon rtl8812ae_set_fw_rsvdpagepkt()
1472 beacon = &reserved_page_packet_8812[BEACON_PG * 512]; rtl8812ae_set_fw_rsvdpagepkt()
1473 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl8812ae_set_fw_rsvdpagepkt()
1474 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl8812ae_set_fw_rsvdpagepkt()
1586 u8 *beacon; rtl8821ae_set_fw_rsvdpagepkt() local
1593 * (1) beacon rtl8821ae_set_fw_rsvdpagepkt()
1596 beacon = &reserved_page_packet_8821[BEACON_PG * 256]; rtl8821ae_set_fw_rsvdpagepkt()
1597 SET_80211_HDR_ADDRESS2(beacon, mac->mac_addr); rtl8821ae_set_fw_rsvdpagepkt()
1598 SET_80211_HDR_ADDRESS3(beacon, mac->bssid); rtl8821ae_set_fw_rsvdpagepkt()
H A Dfw.h318 SET_BITS_TO_LE_1BYTE((__cmd)+1, 0, 8, __value) /* unit: beacon period */
/linux-4.1.27/drivers/infiniband/ulp/iser/
H A Discsi_iser.h418 * @beacon: beacon send wr to signal all flush errors were drained
439 struct ib_send_wr beacon; member in struct:ib_conn
/linux-4.1.27/drivers/net/wireless/cw1200/
H A Dwsm.h248 /* Indicates STA bit beacon TIM field */
926 /* DTIM Period (In multiples of beacon interval) */
991 /* This resets the beacon loss counters only */
1206 /* beacon transmissions in TU. */
1209 /* DTIM period in terms of beacon intervals */
1417 #define WSM_BEACON_FILTER_ENABLE BIT(0) /* Enable/disable beacon filtering */
H A Dpm.c244 /* Enable beacon skipping */ cw1200_wow_suspend()
/linux-4.1.27/drivers/net/wireless/ath/
H A Dath.h241 * @ATH_DBG_BEACON: beacon handling
/linux-4.1.27/drivers/net/wireless/iwlwifi/
H A Diwl-fw-error-dump.h251 * @FW_DBG_TRIGGER_RSSI: trigger log collection when the rssi of the beacon
/linux-4.1.27/drivers/net/wireless/libertas/
H A Dcmdresp.c320 lbs_deb_cmd("EVENT: ADHOC beacon lost\n"); lbs_process_event()
/linux-4.1.27/drivers/net/wireless/rtlwifi/rtl8192se/
H A Dfw.h235 /* beacon TO (ms). ¡§=0¡¨ no limit. */
/linux-4.1.27/drivers/staging/wlan-ng/
H A Dp80211netdev.h112 u32 beacon; member in struct:p80211_frmrx_t

Completed in 4822 milliseconds

12