Lines Matching full:beacon
29 ath9k_hw_get_txq_props(ah, priv->beacon.beaconq, &qi); in ath9k_htc_beaconq_config()
44 * For WIFI Beacon Distribution in ath9k_htc_beaconq_config()
57 if (!ath9k_hw_set_txq_props(ah, priv->beacon.beaconq, &qi)) { in ath9k_htc_beaconq_config()
59 "Unable to update beacon queue %u!\n", priv->beacon.beaconq); in ath9k_htc_beaconq_config()
61 ath9k_hw_resettxqueue(ah, priv->beacon.beaconq); in ath9k_htc_beaconq_config()
87 priv->beacon.bmisscnt = 0; in ath9k_htc_beacon_init()
148 vif = priv->beacon.bslot[slot]; in ath9k_htc_send_buffered()
201 struct sk_buff *beacon; in ath9k_htc_send_beacon() local
209 vif = priv->beacon.bslot[slot]; in ath9k_htc_send_beacon()
217 /* Get a new beacon */ in ath9k_htc_send_beacon()
218 beacon = ieee80211_beacon_get(priv->hw, vif, 0); in ath9k_htc_send_beacon()
219 if (!beacon) { in ath9k_htc_send_beacon()
226 * add this value for every beacon. in ath9k_htc_send_beacon()
228 mgmt = (struct ieee80211_mgmt *)beacon->data; in ath9k_htc_send_beacon()
229 mgmt->u.beacon.timestamp = avp->tsfadjust; in ath9k_htc_send_beacon()
231 info = IEEE80211_SKB_CB(beacon); in ath9k_htc_send_beacon()
234 (struct ieee80211_hdr *) beacon->data; in ath9k_htc_send_beacon()
240 tx_ctl = HTC_SKB_CB(beacon); in ath9k_htc_send_beacon()
247 tx_fhdr = skb_push(beacon, sizeof(beacon_hdr)); in ath9k_htc_send_beacon()
250 ret = htc_send(priv->htc, beacon); in ath9k_htc_send_beacon()
254 "Failed to send beacon, no free TX buffer\n"); in ath9k_htc_send_beacon()
256 dev_kfree_skb_any(beacon); in ath9k_htc_send_beacon()
280 ath_dbg(common, BEACON, in ath9k_htc_choose_bslot()
294 priv->beacon.bmisscnt++; in ath9k_htc_swba()
295 if (priv->beacon.bmisscnt > BSTUCK_THRESHOLD) { in ath9k_htc_swba()
296 ath_dbg(common, BSTUCK, "Beacon stuck, HW reset\n"); in ath9k_htc_swba()
303 if (priv->beacon.bmisscnt) { in ath9k_htc_swba()
305 "Resuming beacon xmit after %u misses\n", in ath9k_htc_swba()
306 priv->beacon.bmisscnt); in ath9k_htc_swba()
307 priv->beacon.bmisscnt = 0; in ath9k_htc_swba()
312 if (priv->beacon.bslot[slot] == NULL) { in ath9k_htc_swba()
331 if (priv->beacon.bslot[i] == NULL) { in ath9k_htc_assign_bslot()
337 priv->beacon.bslot[avp->bslot] = vif; in ath9k_htc_assign_bslot()
340 ath_dbg(common, CONFIG, "Added interface at beacon slot: %d\n", in ath9k_htc_assign_bslot()
351 priv->beacon.bslot[avp->bslot] = NULL; in ath9k_htc_remove_bslot()
354 ath_dbg(common, CONFIG, "Removed interface at beacon slot: %d\n", in ath9k_htc_remove_bslot()
374 * The beacon interval cannot be different for multi-AP mode, in ath9k_htc_set_tsfadjust()
404 * Changing the beacon interval when multiple AP interfaces in ath9k_htc_check_beacon_config()
405 * are configured will affect beacon transmission of all in ath9k_htc_check_beacon_config()
413 "Changing beacon interval of multiple AP interfaces !\n"); in ath9k_htc_check_beacon_config()
419 * are added cannot change the beacon parameters. in ath9k_htc_check_beacon_config()
424 "HW in AP mode, cannot set STA beacon parameters\n"); in ath9k_htc_check_beacon_config()
429 * The beacon parameters are configured only for the first in ath9k_htc_check_beacon_config()
442 "Beacon already configured for a station interface\n"); in ath9k_htc_check_beacon_config()