Lines Matching refs:wcid

465 void mt76_wcid_key_setup(struct mt76_dev *dev, struct mt76_wcid *wcid,  in mt76_wcid_key_setup()  argument
471 wcid->rx_check_pn = false; in mt76_wcid_key_setup()
479 wcid->rx_check_pn = true; in mt76_wcid_key_setup()
482 memcpy(wcid->rx_key_pn[i], seq.ccmp.pn, sizeof(seq.ccmp.pn)); in mt76_wcid_key_setup()
512 return wcid_to_sta(mstat.wcid); in mt76_rx_convert()
519 struct mt76_wcid *wcid = status->wcid; in mt76_check_ccmp_pn() local
526 if (!wcid || !wcid->rx_check_pn) in mt76_check_ccmp_pn()
540 BUILD_BUG_ON(sizeof(status->iv) != sizeof(wcid->rx_key_pn[0])); in mt76_check_ccmp_pn()
541 ret = memcmp(status->iv, wcid->rx_key_pn[status->tid], in mt76_check_ccmp_pn()
546 memcpy(wcid->rx_key_pn[status->tid], status->iv, sizeof(status->iv)); in mt76_check_ccmp_pn()
560 struct mt76_wcid *wcid = status->wcid; in mt76_check_sta() local
564 if (ieee80211_is_pspoll(hdr->frame_control) && !wcid) { in mt76_check_sta()
567 wcid = status->wcid = (struct mt76_wcid *)sta->drv_priv; in mt76_check_sta()
570 if (!wcid || !wcid->sta) in mt76_check_sta()
573 sta = container_of((void *)wcid, struct ieee80211_sta, drv_priv); in mt76_check_sta()
576 ewma_signal_add(&wcid->rssi, -status->signal); in mt76_check_sta()
578 wcid->inactive_count = 0; in mt76_check_sta()
580 if (!test_bit(MT_WCID_FLAG_CHECK_PS, &wcid->flags)) in mt76_check_sta()
599 if (!!test_bit(MT_WCID_FLAG_PS, &wcid->flags) == ps) in mt76_check_sta()
603 set_bit(MT_WCID_FLAG_PS, &wcid->flags); in mt76_check_sta()
605 clear_bit(MT_WCID_FLAG_PS, &wcid->flags); in mt76_check_sta()
665 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in mt76_sta_add() local
682 mtxq->wcid = wcid; in mt76_sta_add()
687 ewma_signal_init(&wcid->rssi); in mt76_sta_add()
688 rcu_assign_pointer(dev->wcid[wcid->idx], wcid); in mt76_sta_add()
699 struct mt76_wcid *wcid = (struct mt76_wcid *)sta->drv_priv; in __mt76_sta_remove() local
700 int i, idx = wcid->idx; in __mt76_sta_remove()
702 rcu_assign_pointer(dev->wcid[idx], NULL); in __mt76_sta_remove()
705 for (i = 0; i < ARRAY_SIZE(wcid->aggr); i++) in __mt76_sta_remove()
706 mt76_rx_aggr_stop(dev, wcid, i); in __mt76_sta_remove()
711 mt76_tx_status_check(dev, wcid, true); in __mt76_sta_remove()