Searched refs:pattrib (Results 1 - 37 of 37) sorted by relevance

/linux-4.1.27/drivers/staging/rtl8188eu/hal/
H A Drtl8188e_rxdesc.c28 struct rx_pkt_attrib *pattrib = &prframe->attrib; process_rssi() local
38 signal_stat->total_val += pattrib->phy_info.SignalStrength; process_rssi()
45 struct rx_pkt_attrib *pattrib; process_link_qual() local
51 pattrib = &prframe->attrib; process_link_qual()
61 signal_stat->total_val += pattrib->phy_info.SignalQuality; process_link_qual()
78 struct rx_pkt_attrib *pattrib; update_recvframe_attrib_88e() local
88 pattrib = &precvframe->attrib; update_recvframe_attrib_88e()
89 memset(pattrib, 0, sizeof(struct rx_pkt_attrib)); update_recvframe_attrib_88e()
91 pattrib->crc_err = (u8)((le32_to_cpu(report.rxdw0) >> 14) & 0x1);/* u8)prxreport->crc32; */ update_recvframe_attrib_88e()
94 pattrib->pkt_rpt_type = (u8)((le32_to_cpu(report.rxdw3) >> 14) & 0x3);/* prxreport->rpt_sel; */ update_recvframe_attrib_88e()
96 if (pattrib->pkt_rpt_type == NORMAL_RX) { /* Normal rx packet */ update_recvframe_attrib_88e()
97 pattrib->pkt_len = (u16)(le32_to_cpu(report.rxdw0) & 0x00003fff);/* u16)prxreport->pktlen; */ update_recvframe_attrib_88e()
98 pattrib->drvinfo_sz = (u8)((le32_to_cpu(report.rxdw0) >> 16) & 0xf) * 8;/* u8)(prxreport->drvinfosize << 3); */ update_recvframe_attrib_88e()
100 pattrib->physt = (u8)((le32_to_cpu(report.rxdw0) >> 26) & 0x1);/* u8)prxreport->physt; */ update_recvframe_attrib_88e()
102 pattrib->bdecrypted = (le32_to_cpu(report.rxdw0) & BIT(27)) ? 0 : 1;/* u8)(prxreport->swdec ? 0 : 1); */ update_recvframe_attrib_88e()
103 pattrib->encrypt = (u8)((le32_to_cpu(report.rxdw0) >> 20) & 0x7);/* u8)prxreport->security; */ update_recvframe_attrib_88e()
105 pattrib->qos = (u8)((le32_to_cpu(report.rxdw0) >> 23) & 0x1);/* u8)prxreport->qos; */ update_recvframe_attrib_88e()
106 pattrib->priority = (u8)((le32_to_cpu(report.rxdw1) >> 8) & 0xf);/* u8)prxreport->tid; */ update_recvframe_attrib_88e()
108 pattrib->amsdu = (u8)((le32_to_cpu(report.rxdw1) >> 13) & 0x1);/* u8)prxreport->amsdu; */ update_recvframe_attrib_88e()
110 pattrib->seq_num = (u16)(le32_to_cpu(report.rxdw2) & 0x00000fff);/* u16)prxreport->seq; */ update_recvframe_attrib_88e()
111 pattrib->frag_num = (u8)((le32_to_cpu(report.rxdw2) >> 12) & 0xf);/* u8)prxreport->frag; */ update_recvframe_attrib_88e()
112 pattrib->mfrag = (u8)((le32_to_cpu(report.rxdw1) >> 27) & 0x1);/* u8)prxreport->mf; */ update_recvframe_attrib_88e()
113 pattrib->mdata = (u8)((le32_to_cpu(report.rxdw1) >> 26) & 0x1);/* u8)prxreport->md; */ update_recvframe_attrib_88e()
115 pattrib->mcs_rate = (u8)(le32_to_cpu(report.rxdw3) & 0x3f);/* u8)prxreport->rxmcs; */ update_recvframe_attrib_88e()
116 pattrib->rxht = (u8)((le32_to_cpu(report.rxdw3) >> 6) & 0x1);/* u8)prxreport->rxht; */ update_recvframe_attrib_88e()
118 pattrib->icv_err = (u8)((le32_to_cpu(report.rxdw0) >> 15) & 0x1);/* u8)prxreport->icverr; */ update_recvframe_attrib_88e()
119 pattrib->shift_sz = (u8)((le32_to_cpu(report.rxdw0) >> 24) & 0x3); update_recvframe_attrib_88e()
120 } else if (pattrib->pkt_rpt_type == TX_REPORT1) { /* CCX */ update_recvframe_attrib_88e()
121 pattrib->pkt_len = TX_RPT1_PKT_LEN; update_recvframe_attrib_88e()
122 pattrib->drvinfo_sz = 0; update_recvframe_attrib_88e()
123 } else if (pattrib->pkt_rpt_type == TX_REPORT2) { /* TX RPT */ update_recvframe_attrib_88e()
124 pattrib->pkt_len = (u16)(le32_to_cpu(report.rxdw0) & 0x3FF);/* Rx length[9:0] */ update_recvframe_attrib_88e()
125 pattrib->drvinfo_sz = 0; update_recvframe_attrib_88e()
130 pattrib->MacIDValidEntry[0] = le32_to_cpu(report.rxdw4); update_recvframe_attrib_88e()
131 pattrib->MacIDValidEntry[1] = le32_to_cpu(report.rxdw5); update_recvframe_attrib_88e()
133 } else if (pattrib->pkt_rpt_type == HIS_REPORT) { /* USB HISR RPT */ update_recvframe_attrib_88e()
134 pattrib->pkt_len = (u16)(le32_to_cpu(report.rxdw0) & 0x00003fff);/* u16)prxreport->pktlen; */ update_recvframe_attrib_88e()
147 struct rx_pkt_attrib *pattrib = &precvframe->attrib; update_recvframe_phyinfo_88e() local
149 struct odm_phy_status_info *pPHYInfo = (struct odm_phy_status_info *)(&pattrib->phy_info); update_recvframe_phyinfo_88e()
163 !pattrib->icv_err && !pattrib->crc_err && update_recvframe_phyinfo_88e()
187 pkt_info.Rate = pattrib->mcs_rate; update_recvframe_phyinfo_88e()
H A Drtl8188eu_xmit.c102 static void fill_txdesc_sectype(struct pkt_attrib *pattrib, struct tx_desc *ptxdesc) fill_txdesc_sectype() argument
104 if ((pattrib->encrypt > 0) && !pattrib->bswenc) { fill_txdesc_sectype()
105 switch (pattrib->encrypt) { fill_txdesc_sectype()
128 static void fill_txdesc_vcs(struct pkt_attrib *pattrib, __le32 *pdw) fill_txdesc_vcs() argument
130 switch (pattrib->vcs_mode) { fill_txdesc_vcs()
141 if (pattrib->vcs_mode) { fill_txdesc_vcs()
144 if (pattrib->ht_en) { fill_txdesc_vcs()
145 *pdw |= (pattrib->bwmode&HT_CHANNEL_WIDTH_40) ? cpu_to_le32(BIT(27)) : 0; fill_txdesc_vcs()
147 if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_LOWER) fill_txdesc_vcs()
149 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_UPPER) fill_txdesc_vcs()
151 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_DONT_CARE) fill_txdesc_vcs()
159 static void fill_txdesc_phy(struct pkt_attrib *pattrib, __le32 *pdw) fill_txdesc_phy() argument
161 if (pattrib->ht_en) { fill_txdesc_phy()
162 *pdw |= (pattrib->bwmode&HT_CHANNEL_WIDTH_40) ? cpu_to_le32(BIT(25)) : 0; fill_txdesc_phy()
164 if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_LOWER) fill_txdesc_phy()
166 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_UPPER) fill_txdesc_phy()
168 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_DONT_CARE) fill_txdesc_phy()
181 struct pkt_attrib *pattrib = &pxmitframe->attrib; update_txdesc() local
186 int bmcst = IS_MCAST(pattrib->ra); update_txdesc()
224 ptxdesc->txdw1 |= cpu_to_le32(pattrib->mac_id & 0x3F); update_txdesc()
226 qsel = (uint)(pattrib->qsel & 0x0000001f); update_txdesc()
229 ptxdesc->txdw1 |= cpu_to_le32((pattrib->raid << RATE_ID_SHT) & 0x000F0000); update_txdesc()
231 fill_txdesc_sectype(pattrib, ptxdesc); update_txdesc()
233 if (pattrib->ampdu_en) { update_txdesc()
243 ptxdesc->txdw3 |= cpu_to_le32((pattrib->seqnum << SEQ_SHT) & 0x0FFF0000); update_txdesc()
246 if (pattrib->qos_en) update_txdesc()
253 if ((pattrib->ether_type != 0x888e) && update_txdesc()
254 (pattrib->ether_type != 0x0806) && update_txdesc()
255 (pattrib->ether_type != 0x88b4) && update_txdesc()
256 (pattrib->dhcp_pkt != 1)) { update_txdesc()
259 fill_txdesc_vcs(pattrib, &ptxdesc->txdw4); update_txdesc()
260 fill_txdesc_phy(pattrib, &ptxdesc->txdw4); update_txdesc()
265 if (pattrib->ht_en) { update_txdesc()
266 if (ODM_RA_GetShortGI_8188E(&haldata->odmpriv, pattrib->mac_id)) update_txdesc()
269 data_rate = ODM_RA_GetDecisionRate_8188E(&haldata->odmpriv, pattrib->mac_id); update_txdesc()
271 pwr_status = ODM_RA_GetHwPwrStatus_8188E(&haldata->odmpriv, pattrib->mac_id); update_txdesc()
284 ptxdesc->txdw1 |= cpu_to_le32(pattrib->mac_id & 0x3f); update_txdesc()
286 qsel = (uint)(pattrib->qsel&0x0000001f); update_txdesc()
289 ptxdesc->txdw1 |= cpu_to_le32((pattrib->raid << RATE_ID_SHT) & 0x000f0000); update_txdesc()
297 ptxdesc->txdw3 |= cpu_to_le32((pattrib->seqnum<<SEQ_SHT)&0x0FFF0000); update_txdesc()
301 if (pattrib->retry_ctrl) update_txdesc()
320 ptxdesc->txdw3 |= cpu_to_le32((pattrib->seqnum<<SEQ_SHT)&0x0fff0000); update_txdesc()
334 if (!pattrib->qos_en) { update_txdesc()
340 pattrib->mac_id); update_txdesc()
356 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_dump_xframe() local
369 for (t = 0; t < pattrib->nr_frags; t++) { rtw_dump_xframe()
373 if (t != (pattrib->nr_frags - 1)) { rtw_dump_xframe()
374 RT_TRACE(_module_rtl871x_xmit_c_, _drv_err_, ("pattrib->nr_frags=%d\n", pattrib->nr_frags)); rtw_dump_xframe()
377 sz = sz - 4 - (psecuritypriv->sw_encrypt ? 0 : pattrib->icv_len); rtw_dump_xframe()
380 sz = pattrib->last_txcmdsz; rtw_dump_xframe()
415 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_need_length() local
420 len = pattrib->hdrlen + pattrib->iv_len + xmitframe_need_length()
422 pattrib->pktlen + xmitframe_need_length()
423 ((pattrib->bswenc) ? pattrib->icv_len : 0); xmitframe_need_length()
425 if (pattrib->encrypt == _TKIP_) xmitframe_need_length()
640 struct pkt_attrib *pattrib = &pxmitframe->attrib; pre_xmitframe() local
645 if (rtw_txframes_sta_ac_pending(adapt, pattrib) > 0) pre_xmitframe()
H A Drtl8188e_cmd.c476 struct pkt_attrib *pattrib; SetFwRsvdPagePkt() local
565 pattrib = &pmgntframe->attrib; SetFwRsvdPagePkt()
566 update_mgntframe_attrib(adapt, pattrib); SetFwRsvdPagePkt()
567 pattrib->qsel = 0x10; SetFwRsvdPagePkt()
568 pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET; SetFwRsvdPagePkt()
569 pattrib->pktlen = pattrib->last_txcmdsz; SetFwRsvdPagePkt()
/linux-4.1.27/drivers/staging/rtl8712/
H A Drtl871x_xmit.c185 struct pkt_attrib *pattrib) r8712_update_attrib()
203 pattrib->ether_type = ntohs(etherhdr.h_proto); r8712_update_attrib()
208 if (pattrib->ether_type == 0x0806) { r8712_update_attrib()
217 memcpy(pattrib->dst, &etherhdr.h_dest, ETH_ALEN); r8712_update_attrib()
218 memcpy(pattrib->src, &etherhdr.h_source, ETH_ALEN); r8712_update_attrib()
219 pattrib->pctrl = 0; r8712_update_attrib()
222 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); r8712_update_attrib()
223 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); r8712_update_attrib()
225 memcpy(pattrib->ra, get_bssid(pmlmepriv), ETH_ALEN); r8712_update_attrib()
226 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); r8712_update_attrib()
228 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); r8712_update_attrib()
229 memcpy(pattrib->ta, get_bssid(pmlmepriv), ETH_ALEN); r8712_update_attrib()
232 if (pattrib->ether_type != 0x8712) r8712_update_attrib()
235 * according to the info of txcmd to update pattrib */ r8712_update_attrib()
238 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); r8712_update_attrib()
239 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); r8712_update_attrib()
240 pattrib->pctrl = 1; r8712_update_attrib()
243 pattrib->pktlen = pktfile.pkt_len; r8712_update_attrib()
244 if (ETH_P_IP == pattrib->ether_type) { r8712_update_attrib()
251 pattrib->dhcp_pkt = 0; r8712_update_attrib()
253 if (ETH_P_IP == pattrib->ether_type) {/* IP header*/ r8712_update_attrib()
259 pattrib->dhcp_pkt = 1; r8712_update_attrib()
264 bmcast = IS_MCAST(pattrib->ra); r8712_update_attrib()
268 pattrib->mac_id = 4; r8712_update_attrib()
273 pattrib->mac_id = 5; r8712_update_attrib()
275 psta = r8712_get_stainfo(pstapriv, pattrib->ra); r8712_update_attrib()
279 pattrib->mac_id = 5; r8712_update_attrib()
281 pattrib->mac_id = psta->mac_id; r8712_update_attrib()
286 pattrib->psta = psta; r8712_update_attrib()
292 pattrib->ack_policy = 0; r8712_update_attrib()
294 pattrib->pkt_hdrlen = ETH_HLEN; r8712_update_attrib()
297 r8712_set_qos(&pktfile, pattrib); r8712_update_attrib()
299 pattrib->hdrlen = WLAN_HDR_A3_LEN; r8712_update_attrib()
300 pattrib->subtype = WIFI_DATA_TYPE; r8712_update_attrib()
301 pattrib->priority = 0; r8712_update_attrib()
304 pattrib->encrypt = 0; r8712_update_attrib()
305 if ((pattrib->ether_type != 0x888e) && r8712_update_attrib()
309 GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, bmcast); r8712_update_attrib()
310 switch (pattrib->encrypt) { r8712_update_attrib()
313 pattrib->iv_len = 4; r8712_update_attrib()
314 pattrib->icv_len = 4; r8712_update_attrib()
317 pattrib->iv_len = 8; r8712_update_attrib()
318 pattrib->icv_len = 4; r8712_update_attrib()
323 pattrib->iv_len = 8; r8712_update_attrib()
324 pattrib->icv_len = 8; r8712_update_attrib()
327 pattrib->iv_len = 0; r8712_update_attrib()
328 pattrib->icv_len = 0; r8712_update_attrib()
332 if (pattrib->encrypt && r8712_update_attrib()
335 pattrib->bswenc = true; r8712_update_attrib()
337 pattrib->bswenc = false; r8712_update_attrib()
341 pattrib->priority = (txdesc.txdw1 >> QSEL_SHT) & 0x1f; r8712_update_attrib()
353 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_addmic() local
357 sint bmcst = IS_MCAST(pattrib->ra); xmitframe_addmic()
359 if (pattrib->psta) xmitframe_addmic()
360 stainfo = pattrib->psta; xmitframe_addmic()
363 &pattrib->ra[0]); xmitframe_addmic()
364 if (pattrib->encrypt == _TKIP_) { xmitframe_addmic()
413 for (curfragnum = 0; curfragnum < pattrib->nr_frags; xmitframe_addmic()
416 payload = payload+pattrib-> xmitframe_addmic()
417 hdrlen+pattrib->iv_len; xmitframe_addmic()
418 if ((curfragnum + 1) == pattrib->nr_frags) { xmitframe_addmic()
419 length = pattrib->last_txcmdsz - xmitframe_addmic()
420 pattrib->hdrlen - xmitframe_addmic()
421 pattrib->iv_len - xmitframe_addmic()
423 ? pattrib->icv_len : 0); xmitframe_addmic()
429 pattrib->hdrlen-pattrib->iv_len - xmitframe_addmic()
431 pattrib->icv_len : 0); xmitframe_addmic()
435 pattrib->icv_len; xmitframe_addmic()
442 pattrib->last_txcmdsz += 8; xmitframe_addmic()
443 payload = payload-pattrib->last_txcmdsz + 8; xmitframe_addmic()
452 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_swencrypt() local
454 if (pattrib->bswenc) { xmitframe_swencrypt()
455 switch (pattrib->encrypt) { xmitframe_swencrypt()
474 struct pkt_attrib *pattrib) make_wlanhdr()
484 SetFrameSubType(fctrl, pattrib->subtype); make_wlanhdr()
485 if (pattrib->subtype & WIFI_DATA_TYPE) { make_wlanhdr()
491 memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); make_wlanhdr()
492 memcpy(pwlanhdr->addr3, pattrib->dst, ETH_ALEN); make_wlanhdr()
496 memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); make_wlanhdr()
499 memcpy(pwlanhdr->addr3, pattrib->src, ETH_ALEN); make_wlanhdr()
503 memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); make_wlanhdr()
504 memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); make_wlanhdr()
508 memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); make_wlanhdr()
509 memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); make_wlanhdr()
515 if (pattrib->encrypt) make_wlanhdr()
518 qc = (unsigned short *)(hdr + pattrib->hdrlen - 2); make_wlanhdr()
519 if (pattrib->priority) make_wlanhdr()
520 SetPriority(qc, pattrib->priority); make_wlanhdr()
521 SetAckpolicy(qc, pattrib->ack_policy); make_wlanhdr()
527 sint bmcst = IS_MCAST(pattrib->ra); make_wlanhdr()
529 if (pattrib->psta) make_wlanhdr()
530 psta = pattrib->psta; make_wlanhdr()
537 pattrib->ra); make_wlanhdr()
541 [pattrib->priority]++; make_wlanhdr()
542 psta->sta_xmitpriv.txseq_tid[pattrib->priority] make_wlanhdr()
544 pattrib->seqnum = psta->sta_xmitpriv. make_wlanhdr()
545 txseq_tid[pattrib->priority]; make_wlanhdr()
546 SetSeqNum(hdr, pattrib->seqnum); make_wlanhdr()
596 struct pkt_attrib *pattrib = &pxmitframe->attrib; r8712_xmitframe_coalesce() local
598 sint bmcst = IS_MCAST(pattrib->ra); r8712_xmitframe_coalesce()
600 if (pattrib->psta == NULL) r8712_xmitframe_coalesce()
602 psta = pattrib->psta; r8712_xmitframe_coalesce()
608 if (make_wlanhdr(padapter, mem_start, pattrib) == _FAIL) r8712_xmitframe_coalesce()
611 _r8712_pktfile_read(&pktfile, NULL, (uint) pattrib->pkt_hdrlen); r8712_xmitframe_coalesce()
614 if (pattrib->ether_type == 0x8712) { r8712_xmitframe_coalesce()
619 pattrib->pktlen = pktfile.pkt_len; r8712_xmitframe_coalesce()
627 pframe += pattrib->hdrlen; r8712_xmitframe_coalesce()
628 mpdu_len -= pattrib->hdrlen; r8712_xmitframe_coalesce()
630 if (pattrib->iv_len) { r8712_xmitframe_coalesce()
632 switch (pattrib->encrypt) { r8712_xmitframe_coalesce()
635 WEP_IV(pattrib->iv, psta->txpn, r8712_xmitframe_coalesce()
641 TKIP_IV(pattrib->iv, r8712_xmitframe_coalesce()
646 TKIP_IV(pattrib->iv, psta->txpn, r8712_xmitframe_coalesce()
651 AES_IV(pattrib->iv, psta->txpn, r8712_xmitframe_coalesce()
655 AES_IV(pattrib->iv, psta->txpn, r8712_xmitframe_coalesce()
660 memcpy(pframe, pattrib->iv, pattrib->iv_len); r8712_xmitframe_coalesce()
661 pframe += pattrib->iv_len; r8712_xmitframe_coalesce()
662 mpdu_len -= pattrib->iv_len; r8712_xmitframe_coalesce()
665 llc_sz = r8712_put_snap(pframe, pattrib->ether_type); r8712_xmitframe_coalesce()
669 if ((pattrib->icv_len > 0) && (pattrib->bswenc)) r8712_xmitframe_coalesce()
670 mpdu_len -= pattrib->icv_len; r8712_xmitframe_coalesce()
673 pattrib->pktlen); r8712_xmitframe_coalesce()
678 if ((pattrib->icv_len > 0) && (pattrib->bswenc)) { r8712_xmitframe_coalesce()
679 memcpy(pframe, pattrib->icv, pattrib->icv_len); r8712_xmitframe_coalesce()
680 pframe += pattrib->icv_len; r8712_xmitframe_coalesce()
684 pattrib->nr_frags = frg_inx; r8712_xmitframe_coalesce()
685 pattrib->last_txcmdsz = pattrib->hdrlen + r8712_xmitframe_coalesce()
686 pattrib->iv_len + r8712_xmitframe_coalesce()
687 ((pattrib->nr_frags == 1) ? r8712_xmitframe_coalesce()
689 ((pattrib->bswenc) ? r8712_xmitframe_coalesce()
690 pattrib->icv_len : 0) + mem_sz; r8712_xmitframe_coalesce()
696 memcpy(mem_start, pbuf_start + TXDESC_OFFSET, pattrib->hdrlen); r8712_xmitframe_coalesce()
915 struct pkt_attrib *pattrib = &pxmitframe->attrib; r8712_xmit_classifier() local
918 sint bmcst = IS_MCAST(pattrib->ra); r8712_xmit_classifier()
920 if (pattrib->psta) r8712_xmit_classifier()
921 psta = pattrib->psta; r8712_xmit_classifier()
930 psta = r8712_get_stainfo(pstapriv, pattrib->ra); r8712_xmit_classifier()
936 psta, pattrib->priority); r8712_xmit_classifier()
1034 struct pkt_attrib *pattrib = &pxmitframe->attrib; r8712_pre_xmit() local
1036 r8712_do_queue_select(padapter, pattrib); r8712_pre_xmit()
1038 if (r8712_txframes_sta_ac_pending(padapter, pattrib) > 0) { r8712_pre_xmit()
184 r8712_update_attrib(struct _adapter *padapter, _pkt *pkt, struct pkt_attrib *pattrib) r8712_update_attrib() argument
473 make_wlanhdr(struct _adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib) make_wlanhdr() argument
H A Drtl871x_recv.c319 struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; sta2sta_data_frame() local
325 sint bmcast = IS_MCAST(pattrib->dst); sta2sta_data_frame()
330 if (!memcmp(myhwaddr, pattrib->src, ETH_ALEN)) sta2sta_data_frame()
332 if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast)) sta2sta_data_frame()
334 if (is_zero_ether_addr(pattrib->bssid) || sta2sta_data_frame()
336 (memcmp(pattrib->bssid, mybssid, ETH_ALEN))) sta2sta_data_frame()
338 sta_addr = pattrib->src; sta2sta_data_frame()
342 if (memcmp(pattrib->bssid, pattrib->src, ETH_ALEN)) sta2sta_data_frame()
344 sta_addr = pattrib->bssid; sta2sta_data_frame()
349 if (!IS_MCAST(pattrib->bssid)) sta2sta_data_frame()
354 if (memcmp(pattrib->bssid, pattrib->dst, ETH_ALEN)) sta2sta_data_frame()
356 sta_addr = pattrib->src; sta2sta_data_frame()
359 memcpy(pattrib->dst, GetAddr1Ptr(ptr), ETH_ALEN); sta2sta_data_frame()
360 memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN); sta2sta_data_frame()
361 memcpy(pattrib->bssid, GetAddr3Ptr(ptr), ETH_ALEN); sta2sta_data_frame()
362 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); sta2sta_data_frame()
363 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); sta2sta_data_frame()
384 struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; ap2sta_data_frame() local
389 sint bmcast = IS_MCAST(pattrib->dst); ap2sta_data_frame()
405 if (!memcmp(myhwaddr, pattrib->src, ETH_ALEN)) ap2sta_data_frame()
409 if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast)) ap2sta_data_frame()
412 if (is_zero_ether_addr(pattrib->bssid) || ap2sta_data_frame()
414 (memcmp(pattrib->bssid, mybssid, ETH_ALEN))) ap2sta_data_frame()
419 *psta = r8712_get_stainfo(pstapriv, pattrib->bssid); ap2sta_data_frame()
424 memcpy(pattrib->dst, GetAddr1Ptr(ptr), ETH_ALEN); ap2sta_data_frame()
425 memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN); ap2sta_data_frame()
426 memcpy(pattrib->bssid, GetAddr3Ptr(ptr), ETH_ALEN); ap2sta_data_frame()
427 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); ap2sta_data_frame()
428 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); ap2sta_data_frame()
429 memcpy(pattrib->bssid, mybssid, ETH_ALEN); ap2sta_data_frame()
430 *psta = r8712_get_stainfo(pstapriv, pattrib->bssid); ap2sta_data_frame()
442 struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; sta2ap_data_frame() local
451 if (memcmp(pattrib->bssid, mybssid, ETH_ALEN)) sta2ap_data_frame()
453 *psta = r8712_get_stainfo(pstapriv, pattrib->src); sta2ap_data_frame()
481 struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; validate_recv_data_frame() local
490 memcpy(pattrib->dst, pda, ETH_ALEN); validate_recv_data_frame()
491 memcpy(pattrib->src, psa, ETH_ALEN); validate_recv_data_frame()
492 memcpy(pattrib->bssid, pbssid, ETH_ALEN); validate_recv_data_frame()
493 switch (pattrib->to_fr_ds) { validate_recv_data_frame()
495 memcpy(pattrib->ra, pda, ETH_ALEN); validate_recv_data_frame()
496 memcpy(pattrib->ta, psa, ETH_ALEN); validate_recv_data_frame()
500 memcpy(pattrib->ra, pda, ETH_ALEN); validate_recv_data_frame()
501 memcpy(pattrib->ta, pbssid, ETH_ALEN); validate_recv_data_frame()
505 memcpy(pattrib->ra, pbssid, ETH_ALEN); validate_recv_data_frame()
506 memcpy(pattrib->ta, psa, ETH_ALEN); validate_recv_data_frame()
510 memcpy(pattrib->ra, GetAddr1Ptr(ptr), ETH_ALEN); validate_recv_data_frame()
511 memcpy(pattrib->ta, GetAddr2Ptr(ptr), ETH_ALEN); validate_recv_data_frame()
521 pattrib->amsdu = 0; validate_recv_data_frame()
523 if (pattrib->qos == 1) { validate_recv_data_frame()
524 pattrib->priority = GetPriority((ptr + 24)); validate_recv_data_frame()
525 pattrib->ack_policy = GetAckpolicy((ptr + 24)); validate_recv_data_frame()
526 pattrib->amsdu = GetAMsdu((ptr + 24)); validate_recv_data_frame()
527 pattrib->hdrlen = pattrib->to_fr_ds == 3 ? 32 : 26; validate_recv_data_frame()
529 pattrib->priority = 0; validate_recv_data_frame()
530 pattrib->hdrlen = (pattrib->to_fr_ds == 3) ? 30 : 24; validate_recv_data_frame()
533 if (pattrib->order)/*HT-CTRL 11n*/ validate_recv_data_frame()
534 pattrib->hdrlen += 4; validate_recv_data_frame()
536 &psta->recvreorder_ctrl[pattrib->priority]; validate_recv_data_frame()
543 if (pattrib->privacy) { validate_recv_data_frame()
544 GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, validate_recv_data_frame()
545 IS_MCAST(pattrib->ra)); validate_recv_data_frame()
546 SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len, validate_recv_data_frame()
547 pattrib->encrypt); validate_recv_data_frame()
549 pattrib->encrypt = 0; validate_recv_data_frame()
550 pattrib->iv_len = pattrib->icv_len = 0; validate_recv_data_frame()
564 struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; r8712_validate_recv_frame() local
574 pattrib->to_fr_ds = get_tofr_ds(ptr); r8712_validate_recv_frame()
575 pattrib->frag_num = GetFragNum(ptr); r8712_validate_recv_frame()
576 pattrib->seq_num = GetSequence(ptr); r8712_validate_recv_frame()
577 pattrib->pw_save = GetPwrMgt(ptr); r8712_validate_recv_frame()
578 pattrib->mfrag = GetMFrag(ptr); r8712_validate_recv_frame()
579 pattrib->mdata = GetMData(ptr); r8712_validate_recv_frame()
580 pattrib->privacy = GetPrivacy(ptr); r8712_validate_recv_frame()
581 pattrib->order = GetOrder(ptr); r8712_validate_recv_frame()
590 pattrib->qos = (subtype & BIT(7)) ? 1 : 0; r8712_validate_recv_frame()
611 struct rx_pkt_attrib *pattrib = &precvframe->u.hdr.attrib; r8712_wlanhdr_to_ethhdr() local
613 if (pattrib->encrypt) r8712_wlanhdr_to_ethhdr()
614 recvframe_pull_tail(precvframe, pattrib->icv_len); r8712_wlanhdr_to_ethhdr()
615 psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + r8712_wlanhdr_to_ethhdr()
616 pattrib->iv_len); r8712_wlanhdr_to_ethhdr()
617 psnap_type = ptr + pattrib->hdrlen + pattrib->iv_len + SNAP_SIZE; r8712_wlanhdr_to_ethhdr()
630 rmv_len = pattrib->hdrlen + pattrib->iv_len + r8712_wlanhdr_to_ethhdr()
646 memcpy(ptr, pattrib->dst, ETH_ALEN); r8712_wlanhdr_to_ethhdr()
647 memcpy(ptr+ETH_ALEN, pattrib->src, ETH_ALEN); r8712_wlanhdr_to_ethhdr()
H A Drtl8712_xmit.c65 struct pkt_attrib *pattrib) r8712_txframes_sta_ac_pending()
69 int priority = pattrib->priority; r8712_txframes_sta_ac_pending()
71 psta = pattrib->psta; r8712_txframes_sta_ac_pending()
97 struct pkt_attrib *pattrib = &pxmitframe->attrib; get_ff_hwaddr() local
106 switch (pattrib->priority) { get_ff_hwaddr()
134 switch (pattrib->qsel) { get_ff_hwaddr()
241 struct pkt_attrib *pattrib) r8712_do_queue_select()
247 qsel = (unsigned int) pattrib->priority; r8712_do_queue_select()
249 qsel = (unsigned int) pattrib->priority; r8712_do_queue_select()
261 pattrib->qsel = qsel; r8712_do_queue_select()
425 struct pkt_attrib *pattrib = &pxmitframe->attrib; update_txdesc() local
432 sint bmcst = IS_MCAST(pattrib->ra); update_txdesc()
463 ptxdesc->txdw1 |= cpu_to_le32((pattrib->mac_id)&0x1f); update_txdesc()
470 qsel = (uint)(pattrib->qsel & 0x0000001f); update_txdesc()
484 qsel = (uint)(pattrib->qsel & 0x0000001f); update_txdesc()
493 pattrib->qsel = 0x13; update_txdesc()
495 qsel = (uint)(pattrib->qsel & 0x0000001f); update_txdesc()
500 if ((pattrib->encrypt > 0) && !pattrib->bswenc) { update_txdesc()
501 switch (pattrib->encrypt) { /*SEC_TYPE*/ update_txdesc()
537 ptxdesc->txdw3 = cpu_to_le32((pattrib->priority << SEQ_SHT) & update_txdesc()
539 if ((pattrib->ether_type != 0x888e) && update_txdesc()
540 (pattrib->ether_type != 0x0806) && update_txdesc()
541 (pattrib->dhcp_pkt != 1)) { update_txdesc()
556 if (pattrib->pctrl == 1) { /* mp tx packets */ update_txdesc()
569 pattrib->pctrl = 0;/* reset to zero; */ update_txdesc()
574 qsel = (uint)(pattrib->qsel & 0x0000001f); update_txdesc()
588 ptxdesc->txdw3 = cpu_to_le32((pattrib->priority << SEQ_SHT) & update_txdesc()
600 qsel = (uint)(pattrib->priority&0x0000001f); update_txdesc()
604 ptxdesc->txdw3 = cpu_to_le32((pattrib->seqnum << SEQ_SHT) & update_txdesc()
710 struct pkt_attrib *pattrib = &pxmitframe->attrib; dump_xframe() local
716 r8712_issue_addbareq_cmd(padapter, pattrib->priority); dump_xframe()
719 for (t = 0; t < pattrib->nr_frags; t++) { dump_xframe()
720 if (t != (pattrib->nr_frags - 1)) { dump_xframe()
723 pattrib->icv_len); dump_xframe()
726 sz = pattrib->last_txcmdsz; dump_xframe()
64 r8712_txframes_sta_ac_pending(struct _adapter *padapter, struct pkt_attrib *pattrib) r8712_txframes_sta_ac_pending() argument
240 r8712_do_queue_select(struct _adapter *padapter, struct pkt_attrib *pattrib) r8712_do_queue_select() argument
H A Drtl8712_recv.c158 static void update_recvframe_attrib_from_recvstat(struct rx_pkt_attrib *pattrib, update_recvframe_attrib_from_recvstat() argument
167 pattrib->bdecrypted = ((le32_to_cpu(prxstat->rxdw0) & BIT(27)) >> 27) update_recvframe_attrib_from_recvstat()
169 pattrib->crc_err = (le32_to_cpu(prxstat->rxdw0) & BIT(14)) >> 14; update_recvframe_attrib_from_recvstat()
174 pattrib->tcpchk_valid = 1; /* valid */ update_recvframe_attrib_from_recvstat()
176 pattrib->tcp_chkrpt = 1; /* correct */ update_recvframe_attrib_from_recvstat()
178 pattrib->tcp_chkrpt = 0; /* incorrect */ update_recvframe_attrib_from_recvstat()
180 pattrib->ip_chkrpt = 1; /* correct */ update_recvframe_attrib_from_recvstat()
182 pattrib->ip_chkrpt = 0; /* incorrect */ update_recvframe_attrib_from_recvstat()
184 pattrib->tcpchk_valid = 0; /* invalid */ update_recvframe_attrib_from_recvstat()
185 pattrib->mcs_rate = (u8)((le32_to_cpu(prxstat->rxdw3)) & 0x3f); update_recvframe_attrib_from_recvstat()
186 pattrib->htc = (u8)((le32_to_cpu(prxstat->rxdw3) >> 14) & 0x1); update_recvframe_attrib_from_recvstat()
334 struct rx_pkt_attrib *pattrib; amsdu_to_msdu() local
340 pattrib = &prframe->u.hdr.attrib; amsdu_to_msdu()
395 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, amsdu_to_msdu()
397 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, amsdu_to_msdu()
404 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, amsdu_to_msdu()
406 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, amsdu_to_msdu()
414 if ((pattrib->tcpchk_valid == 1) && amsdu_to_msdu()
415 (pattrib->tcp_chkrpt == 1)) { amsdu_to_msdu()
488 struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; enqueue_reorder_recvframe() local
495 if (SN_LESS(pnextattrib->seq_num, pattrib->seq_num)) enqueue_reorder_recvframe()
497 else if (SN_EQUAL(pnextattrib->seq_num, pattrib->seq_num)) enqueue_reorder_recvframe()
513 struct rx_pkt_attrib *pattrib; r8712_recv_indicatepkts_in_order() local
527 pattrib = &prframe->u.hdr.attrib; r8712_recv_indicatepkts_in_order()
528 preorder_ctrl->indicate_seq = pattrib->seq_num; r8712_recv_indicatepkts_in_order()
534 pattrib = &prframe->u.hdr.attrib; r8712_recv_indicatepkts_in_order()
535 if (!SN_LESS(preorder_ctrl->indicate_seq, pattrib->seq_num)) { r8712_recv_indicatepkts_in_order()
539 pattrib->seq_num)) r8712_recv_indicatepkts_in_order()
543 if (!pattrib->amsdu) { r8712_recv_indicatepkts_in_order()
550 } else if (pattrib->amsdu == 1) { r8712_recv_indicatepkts_in_order()
570 struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; recv_indicatepkt_reorder() local
575 if (!pattrib->amsdu) { recv_indicatepkt_reorder()
578 if (pattrib->qos != 1) { recv_indicatepkt_reorder()
589 if (!check_indicate_seq(preorder_ctrl, pattrib->seq_num)) recv_indicatepkt_reorder()
886 struct rx_pkt_attrib *pattrib; process_link_qual() local
890 pattrib = &prframe->u.hdr.attrib; process_link_qual()
891 if (pattrib->signal_qual != 0) { process_link_qual()
905 pattrib->signal_qual; process_link_qual()
908 pattrib->signal_qual; process_link_qual()
923 struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; process_rssi() local
934 pattrib->signal_strength; process_rssi()
937 pattrib->signal_strength; process_rssi()
956 struct rx_pkt_attrib *pattrib; recv_func() local
964 pattrib = &prframe->u.hdr.attrib; recv_func()
966 if (pattrib->crc_err == 1) recv_func()
H A Drtl871x_security.c174 struct pkt_attrib *pattrib = &((struct xmit_frame *) r8712_wep_encrypt() local
183 if ((pattrib->encrypt == _WEP40_) || (pattrib->encrypt == _WEP104_)) { r8712_wep_encrypt()
186 for (curfragnum = 0; curfragnum < pattrib->nr_frags; r8712_wep_encrypt()
188 iv = pframe+pattrib->hdrlen; r8712_wep_encrypt()
193 payload = pframe+pattrib->iv_len+pattrib->hdrlen; r8712_wep_encrypt()
194 if ((curfragnum + 1) == pattrib->nr_frags) { r8712_wep_encrypt()
195 length = pattrib->last_txcmdsz-pattrib-> r8712_wep_encrypt()
196 hdrlen-pattrib->iv_len - r8712_wep_encrypt()
197 pattrib->icv_len; r8712_wep_encrypt()
206 length = pxmitpriv->frag_len-pattrib->hdrlen - r8712_wep_encrypt()
207 pattrib->iv_len-pattrib->icv_len; r8712_wep_encrypt()
586 struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; r8712_tkip_encrypt() local
595 if (pattrib->encrypt == _TKIP_) { r8712_tkip_encrypt()
596 if (pattrib->psta) r8712_tkip_encrypt()
597 stainfo = pattrib->psta; r8712_tkip_encrypt()
600 &pattrib->ra[0]); r8712_tkip_encrypt()
603 for (curfragnum = 0; curfragnum < pattrib->nr_frags; r8712_tkip_encrypt()
605 iv = pframe + pattrib->hdrlen; r8712_tkip_encrypt()
606 payload = pframe+pattrib->iv_len + r8712_tkip_encrypt()
607 pattrib->hdrlen; r8712_tkip_encrypt()
611 phase1((u16 *)&ttkey[0], prwskey, &pattrib-> r8712_tkip_encrypt()
615 if ((curfragnum + 1) == pattrib->nr_frags) { r8712_tkip_encrypt()
617 length = pattrib->last_txcmdsz - r8712_tkip_encrypt()
618 pattrib->hdrlen-pattrib->iv_len - r8712_tkip_encrypt()
619 pattrib->icv_len; r8712_tkip_encrypt()
628 length = pxmitpriv->frag_len-pattrib-> r8712_tkip_encrypt()
629 hdrlen-pattrib-> r8712_tkip_encrypt()
630 iv_len-pattrib->icv_len; r8712_tkip_encrypt()
1157 struct pkt_attrib *pattrib = &((struct xmit_frame *) r8712_aes_encrypt() local
1166 if (pattrib->encrypt == _AES_) { r8712_aes_encrypt()
1167 if (pattrib->psta) r8712_aes_encrypt()
1168 stainfo = pattrib->psta; r8712_aes_encrypt()
1171 &pattrib->ra[0]); r8712_aes_encrypt()
1174 for (curfragnum = 0; curfragnum < pattrib->nr_frags; r8712_aes_encrypt()
1176 if ((curfragnum + 1) == pattrib->nr_frags) { r8712_aes_encrypt()
1177 length = pattrib->last_txcmdsz - r8712_aes_encrypt()
1178 pattrib->hdrlen - r8712_aes_encrypt()
1179 pattrib->iv_len - r8712_aes_encrypt()
1180 pattrib->icv_len; r8712_aes_encrypt()
1181 aes_cipher(prwskey, pattrib-> r8712_aes_encrypt()
1185 pattrib->hdrlen - r8712_aes_encrypt()
1186 pattrib->iv_len - r8712_aes_encrypt()
1187 pattrib->icv_len; r8712_aes_encrypt()
1188 aes_cipher(prwskey, pattrib-> r8712_aes_encrypt()
H A Dxmit_linux.c80 void r8712_set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib) r8712_set_qos() argument
90 if (pattrib->ether_type == 0x0800) { r8712_set_qos()
99 if (pattrib->ether_type == 0x888e) r8712_set_qos()
102 pattrib->priority = UserPriority; r8712_set_qos()
103 pattrib->hdrlen = WLAN_HDR_A3_QOS_LEN; r8712_set_qos()
104 pattrib->subtype = WIFI_QOS_DATA_TYPE; r8712_set_qos()
H A Drecv_linux.c112 struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; r8712_recv_indicatepkt() local
122 if ((pattrib->tcpchk_valid == 1) && (pattrib->tcp_chkrpt == 1)) r8712_recv_indicatepkt()
H A Dxmit_osdep.h57 struct pkt_attrib *pattrib);
H A Drtl8712_xmit.h114 struct pkt_attrib *pattrib);
H A Dusb_ops_linux.c351 struct pkt_attrib *pattrib = &pxmitframe->attrib; usb_write_port_complete() local
353 switch (pattrib->priority) { usb_write_port_complete()
407 struct pkt_attrib *pattrib = &pxmitframe->attrib; r8712_usb_write_port() local
417 switch (pattrib->priority) { r8712_usb_write_port()
H A Drtl871x_xmit.h282 struct pkt_attrib *pattrib);
284 struct pkt_attrib *pattrib);
/linux-4.1.27/drivers/staging/rtl8723au/core/
H A Drtw_xmit.c241 struct pkt_attrib *pattrib = &pxmitframe->attrib; update_attrib_vcs_info() local
242 struct sta_info *psta = pattrib->psta; update_attrib_vcs_info()
246 if (pattrib->psta) { update_attrib_vcs_info()
247 psta = pattrib->psta; update_attrib_vcs_info()
250 psta = rtw_get_stainfo23a(&padapter->stapriv, &pattrib->ra[0]); update_attrib_vcs_info()
263 if (pattrib->nr_frags != 1) update_attrib_vcs_info()
266 sz = pattrib->last_txcmdsz; update_attrib_vcs_info()
274 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
277 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
279 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_vcs_info()
281 pattrib->vcs_mode = NONE_VCS; update_attrib_vcs_info()
287 pattrib->ampdu_en && update_attrib_vcs_info()
290 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_vcs_info()
297 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
299 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_vcs_info()
305 if (pattrib->ht_en) { update_attrib_vcs_info()
310 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
317 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
324 if (pattrib->ampdu_en) { update_attrib_vcs_info()
325 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
329 pattrib->vcs_mode = NONE_VCS; update_attrib_vcs_info()
335 static void update_attrib_phy_info(struct pkt_attrib *pattrib, struct sta_info *psta) update_attrib_phy_info() argument
338 pattrib->vcs_mode = RTS_CTS; update_attrib_phy_info()
340 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_phy_info()
342 pattrib->vcs_mode = NONE_VCS;*/ update_attrib_phy_info()
344 pattrib->mdata = 0; update_attrib_phy_info()
345 pattrib->eosp = 0; update_attrib_phy_info()
346 pattrib->triggered = 0; update_attrib_phy_info()
349 pattrib->qos_en = psta->qos_option; update_attrib_phy_info()
351 pattrib->raid = psta->raid; update_attrib_phy_info()
352 pattrib->ht_en = psta->htpriv.ht_option; update_attrib_phy_info()
353 pattrib->bwmode = psta->htpriv.bwmode; update_attrib_phy_info()
354 pattrib->ch_offset = psta->htpriv.ch_offset; update_attrib_phy_info()
355 pattrib->sgi = psta->htpriv.sgi; update_attrib_phy_info()
356 pattrib->ampdu_en = false; update_attrib_phy_info()
358 pattrib->retry_ctrl = false; update_attrib_phy_info()
385 DBG_8723A("qos_acm23a(): invalid pattrib->priority: %d!!!\n", qos_acm23a()
394 static void set_qos(struct sk_buff *skb, struct pkt_attrib *pattrib) set_qos() argument
401 if (pattrib->ether_type == ETH_P_IP) { set_qos()
404 } else if (pattrib->ether_type == ETH_P_PAE) { set_qos()
411 pattrib->priority = UserPriority; set_qos()
412 pattrib->hdrlen = sizeof(struct ieee80211_qos_hdr); set_qos()
413 pattrib->type = IEEE80211_FTYPE_DATA | IEEE80211_STYPE_QOS_DATA; set_qos()
417 struct sk_buff *skb, struct pkt_attrib *pattrib) update_attrib()
427 pattrib->ether_type = ntohs(ehdr->h_proto); update_attrib()
429 ether_addr_copy(pattrib->dst, ehdr->h_dest); update_attrib()
430 ether_addr_copy(pattrib->src, ehdr->h_source); update_attrib()
432 pattrib->pctrl = 0; update_attrib()
436 ether_addr_copy(pattrib->ra, pattrib->dst); update_attrib()
437 ether_addr_copy(pattrib->ta, pattrib->src); update_attrib()
439 ether_addr_copy(pattrib->ra, get_bssid(pmlmepriv)); update_attrib()
440 ether_addr_copy(pattrib->ta, pattrib->src); update_attrib()
442 ether_addr_copy(pattrib->ra, pattrib->dst); update_attrib()
443 ether_addr_copy(pattrib->ta, get_bssid(pmlmepriv)); update_attrib()
446 pattrib->pktlen = skb->len - ETH_HLEN; update_attrib()
448 if (pattrib->ether_type == ETH_P_IP) { update_attrib()
452 pattrib->dhcp_pkt = 0; update_attrib()
454 if (pattrib->pktlen > 282 + 24) { update_attrib()
455 if (pattrib->ether_type == ETH_P_IP) {/* IP header */ update_attrib()
467 pattrib->dhcp_pkt = 1; update_attrib()
471 } else if (pattrib->ether_type == ETH_P_PAE) { update_attrib()
475 if ((pattrib->ether_type == ETH_P_PAE) || (pattrib->dhcp_pkt == 1)) { update_attrib()
480 if ((pattrib->ether_type == ETH_P_ARP) || update_attrib()
481 (pattrib->ether_type == ETH_P_PAE) || (pattrib->dhcp_pkt == 1)) { update_attrib()
485 bmcast = is_multicast_ether_addr(pattrib->ra); update_attrib()
491 psta = rtw_get_stainfo23a(pstapriv, pattrib->ra); update_attrib()
495 pattrib->ra); update_attrib()
506 pattrib->mac_id = psta->mac_id; update_attrib()
507 /* DBG_8723A("%s ==> mac_id(%d)\n", __func__, pattrib->mac_id); */ update_attrib()
508 pattrib->psta = psta; update_attrib()
513 pattrib->ra); update_attrib()
518 pattrib->ack_policy = 0; update_attrib()
521 /* pattrib->ether_type == 0x8100) ? (14 + 4): 14; vlan tag */ update_attrib()
522 pattrib->pkt_hdrlen = ETH_HLEN; update_attrib()
524 pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr); update_attrib()
525 pattrib->type = IEEE80211_FTYPE_DATA; update_attrib()
526 pattrib->priority = 0; update_attrib()
531 set_qos(skb, pattrib); update_attrib()
534 set_qos(skb, pattrib); update_attrib()
537 pattrib->priority = qos_acm23a(pmlmepriv->acm_mask, update_attrib()
538 pattrib->priority); update_attrib()
547 pattrib->encrypt = 0; update_attrib()
549 if ((pattrib->ether_type != ETH_P_PAE) && update_attrib()
552 "psta->ieee8021x_blocked == true, pattrib->ether_type(%.4x) != 0x888e\n", update_attrib()
553 pattrib->ether_type); update_attrib()
558 GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, bmcast); update_attrib()
564 pattrib->key_idx = update_attrib()
569 pattrib->key_idx = update_attrib()
572 pattrib->key_idx = 0; update_attrib()
575 pattrib->key_idx = 0; update_attrib()
581 switch (pattrib->encrypt) { update_attrib()
584 pattrib->iv_len = IEEE80211_WEP_IV_LEN; update_attrib()
585 pattrib->icv_len = IEEE80211_WEP_ICV_LEN; update_attrib()
589 pattrib->iv_len = IEEE80211_TKIP_IV_LEN; update_attrib()
590 pattrib->icv_len = IEEE80211_TKIP_ICV_LEN; update_attrib()
603 "pattrib->encrypt =%d (WLAN_CIPHER_SUITE_CCMP)\n", update_attrib()
604 pattrib->encrypt); update_attrib()
605 pattrib->iv_len = IEEE80211_CCMP_HDR_LEN; update_attrib()
606 pattrib->icv_len = IEEE80211_CCMP_MIC_LEN; update_attrib()
610 pattrib->iv_len = 0; update_attrib()
611 pattrib->icv_len = 0; update_attrib()
616 "update_attrib: encrypt =%d\n", pattrib->encrypt); update_attrib()
618 if (pattrib->encrypt && !psecuritypriv->hw_decrypted) { update_attrib()
619 pattrib->bswenc = true; update_attrib()
622 pattrib->encrypt); update_attrib()
624 pattrib->bswenc = false; update_attrib()
628 update_attrib_phy_info(pattrib, psta); update_attrib()
639 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_addmic() local
646 int bmcst = is_multicast_ether_addr(pattrib->ra); xmitframe_addmic()
648 if (pattrib->psta) { xmitframe_addmic()
649 stainfo = pattrib->psta; xmitframe_addmic()
652 stainfo = rtw_get_stainfo23a(&padapter->stapriv, &pattrib->ra[0]); xmitframe_addmic()
668 if (pattrib->encrypt == WLAN_CIPHER_SUITE_TKIP) { xmitframe_addmic()
714 if (pattrib->qos_en) xmitframe_addmic()
721 for (curfragnum = 0; curfragnum < pattrib->nr_frags; xmitframe_addmic()
731 payload = payload + pattrib->hdrlen + xmitframe_addmic()
732 pattrib->iv_len; xmitframe_addmic()
734 "curfragnum =%d pattrib->hdrlen =%d pattrib->iv_len =%d\n", xmitframe_addmic()
736 pattrib->hdrlen, pattrib->iv_len); xmitframe_addmic()
737 if ((curfragnum + 1) == pattrib->nr_frags) { xmitframe_addmic()
738 length = pattrib->last_txcmdsz - xmitframe_addmic()
739 pattrib->hdrlen - xmitframe_addmic()
740 pattrib->iv_len - xmitframe_addmic()
741 ((pattrib->bswenc) ? xmitframe_addmic()
742 pattrib->icv_len : 0); xmitframe_addmic()
748 pattrib->hdrlen - xmitframe_addmic()
749 pattrib->iv_len - xmitframe_addmic()
750 ((pattrib->bswenc) ? xmitframe_addmic()
751 pattrib->icv_len : 0); xmitframe_addmic()
755 pattrib->icv_len; xmitframe_addmic()
758 "curfragnum =%d length =%d pattrib->icv_len =%d\n", xmitframe_addmic()
760 pattrib->icv_len); xmitframe_addmic()
767 "xmitframe_addmic: pattrib->last_txcmdsz =%d!!!\n", xmitframe_addmic()
768 pattrib->last_txcmdsz); xmitframe_addmic()
777 pattrib->last_txcmdsz += 8; xmitframe_addmic()
781 payload = payload - pattrib->last_txcmdsz + 8; xmitframe_addmic()
782 for (curfragnum = 0; curfragnum < pattrib->last_txcmdsz; xmitframe_addmic()
807 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_swencrypt() local
809 /* if ((psecuritypriv->sw_encrypt)||(pattrib->bswenc)) */ xmitframe_swencrypt()
810 if (pattrib->bswenc) { xmitframe_swencrypt()
814 switch (pattrib->encrypt) { xmitframe_swencrypt()
838 struct pkt_attrib *pattrib) rtw_make_wlanhdr()
848 int bmcst = is_multicast_ether_addr(pattrib->ra); rtw_make_wlanhdr()
850 if (pattrib->psta) { rtw_make_wlanhdr()
851 psta = pattrib->psta; rtw_make_wlanhdr()
857 psta = rtw_get_stainfo23a(&padapter->stapriv, pattrib->ra); rtw_make_wlanhdr()
873 pwlanhdr->frame_control = cpu_to_le16(pattrib->type); rtw_make_wlanhdr()
875 if (pattrib->type & IEEE80211_FTYPE_DATA) { rtw_make_wlanhdr()
882 ether_addr_copy(pwlanhdr->addr2, pattrib->src); rtw_make_wlanhdr()
883 ether_addr_copy(pwlanhdr->addr3, pattrib->dst); rtw_make_wlanhdr()
892 ether_addr_copy(pwlanhdr->addr1, pattrib->dst); rtw_make_wlanhdr()
894 ether_addr_copy(pwlanhdr->addr3, pattrib->src); rtw_make_wlanhdr()
900 ether_addr_copy(pwlanhdr->addr1, pattrib->dst); rtw_make_wlanhdr()
901 ether_addr_copy(pwlanhdr->addr2, pattrib->src); rtw_make_wlanhdr()
914 if (pattrib->mdata) rtw_make_wlanhdr()
917 if (pattrib->encrypt) rtw_make_wlanhdr()
924 pattrib->priority & IEEE80211_QOS_CTL_TID_MASK); rtw_make_wlanhdr()
927 (pattrib->ack_policy << 5) & rtw_make_wlanhdr()
930 if (pattrib->eosp) rtw_make_wlanhdr()
938 psta->sta_xmitpriv.txseq_tid[pattrib->priority]++; rtw_make_wlanhdr()
939 psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF; rtw_make_wlanhdr()
940 pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority]; rtw_make_wlanhdr()
943 pattrib->seqnum)); rtw_make_wlanhdr()
945 if (pattrib->ht_en && psta->htpriv.ampdu_enable) { rtw_make_wlanhdr()
946 if (pattrib->priority >= 16) rtw_make_wlanhdr()
948 "pattrib->priority %i\n", rtw_make_wlanhdr()
949 __func__, pattrib->priority); rtw_make_wlanhdr()
951 BIT(pattrib->priority)) rtw_make_wlanhdr()
952 pattrib->ampdu_en = true; rtw_make_wlanhdr()
955 if (pattrib->ampdu_en) { rtw_make_wlanhdr()
958 tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f]; rtw_make_wlanhdr()
961 if (SN_LESS(pattrib->seqnum, tx_seq)) { rtw_make_wlanhdr()
962 /* DBG_8723A("tx ampdu seqnum(%d) < tx_seq(%d)\n", pattrib->seqnum, tx_seq); */ rtw_make_wlanhdr()
963 pattrib->ampdu_en = false;/* AGG BK */ rtw_make_wlanhdr()
964 } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) { rtw_make_wlanhdr()
965 psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff; rtw_make_wlanhdr()
966 pattrib->ampdu_en = true;/* AGG EN */ rtw_make_wlanhdr()
969 psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff; rtw_make_wlanhdr()
970 pattrib->ampdu_en = true;/* AGG EN */ rtw_make_wlanhdr()
990 struct pkt_attrib *pattrib) rtw_txframes_sta_ac_pending23a()
994 int priority = pattrib->priority; rtw_txframes_sta_ac_pending23a()
996 if (pattrib->psta) { rtw_txframes_sta_ac_pending23a()
997 psta = pattrib->psta; rtw_txframes_sta_ac_pending23a()
1000 psta = rtw_get_stainfo23a(&padapter->stapriv, &pattrib->ra[0]); rtw_txframes_sta_ac_pending23a()
1069 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_xmitframe_coalesce23a() local
1077 s32 bmcst = is_multicast_ether_addr(pattrib->ra); rtw_xmitframe_coalesce23a()
1080 if (pattrib->psta) rtw_xmitframe_coalesce23a()
1081 psta = pattrib->psta; rtw_xmitframe_coalesce23a()
1084 psta = rtw_get_stainfo23a(&padapter->stapriv, pattrib->ra); rtw_xmitframe_coalesce23a()
1109 if (rtw_make_wlanhdr(padapter, mem_start, pattrib) == _FAIL) { rtw_xmitframe_coalesce23a()
1116 pdata += pattrib->pkt_hdrlen; rtw_xmitframe_coalesce23a()
1117 data_len -= pattrib->pkt_hdrlen; rtw_xmitframe_coalesce23a()
1130 pframe += pattrib->hdrlen; rtw_xmitframe_coalesce23a()
1131 mpdu_len -= pattrib->hdrlen; rtw_xmitframe_coalesce23a()
1134 if (pattrib->iv_len) { rtw_xmitframe_coalesce23a()
1136 switch (pattrib->encrypt) { rtw_xmitframe_coalesce23a()
1139 WEP_IV(pattrib->iv, psta->dot11txpn, rtw_xmitframe_coalesce23a()
1140 pattrib->key_idx); rtw_xmitframe_coalesce23a()
1144 TKIP_IV(pattrib->iv, rtw_xmitframe_coalesce23a()
1146 pattrib->key_idx); rtw_xmitframe_coalesce23a()
1148 TKIP_IV(pattrib->iv, rtw_xmitframe_coalesce23a()
1153 AES_IV(pattrib->iv, rtw_xmitframe_coalesce23a()
1155 pattrib->key_idx); rtw_xmitframe_coalesce23a()
1157 AES_IV(pattrib->iv, rtw_xmitframe_coalesce23a()
1163 memcpy(pframe, pattrib->iv, pattrib->iv_len); rtw_xmitframe_coalesce23a()
1166 "rtw_xmiaframe_coalesce23a: keyid =%d pattrib->iv[3]=%.2x pframe =%.2x %.2x %.2x %.2x\n", rtw_xmitframe_coalesce23a()
1168 pattrib->iv[3], *pframe, *(pframe+1), rtw_xmitframe_coalesce23a()
1170 pframe += pattrib->iv_len; rtw_xmitframe_coalesce23a()
1171 mpdu_len -= pattrib->iv_len; rtw_xmitframe_coalesce23a()
1174 llc_sz = rtw_put_snap(pframe, pattrib->ether_type); rtw_xmitframe_coalesce23a()
1179 if (pattrib->icv_len > 0 && pattrib->bswenc) rtw_xmitframe_coalesce23a()
1180 mpdu_len -= pattrib->icv_len; rtw_xmitframe_coalesce23a()
1184 mem_sz = min_t(s32, data_len, pattrib->pktlen); rtw_xmitframe_coalesce23a()
1194 if ((pattrib->icv_len >0) && (pattrib->bswenc)) { rtw_xmitframe_coalesce23a()
1195 memcpy(pframe, pattrib->icv, pattrib->icv_len); rtw_xmitframe_coalesce23a()
1196 pframe += pattrib->icv_len; rtw_xmitframe_coalesce23a()
1202 pattrib->nr_frags = frg_inx; rtw_xmitframe_coalesce23a()
1204 pattrib->last_txcmdsz = pattrib->hdrlen + rtw_xmitframe_coalesce23a()
1205 pattrib->iv_len + rtw_xmitframe_coalesce23a()
1206 ((pattrib->nr_frags == 1) ? rtw_xmitframe_coalesce23a()
1208 ((pattrib->bswenc) ? rtw_xmitframe_coalesce23a()
1209 pattrib->icv_len : 0) + mem_sz; rtw_xmitframe_coalesce23a()
1222 memcpy(mem_start, pbuf_start + hw_hdr_offset, pattrib->hdrlen); rtw_xmitframe_coalesce23a()
1238 pattrib->vcs_mode = NONE_VCS; rtw_xmitframe_coalesce23a()
1714 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_xmit23a_classifier() local
1720 if (pattrib->psta) { rtw_xmit23a_classifier()
1721 psta = pattrib->psta; rtw_xmit23a_classifier()
1724 psta = rtw_get_stainfo23a(pstapriv, pattrib->ra); rtw_xmit23a_classifier()
1738 ptxservq = rtw_get_sta_pending23a(padapter, psta, pattrib->priority, rtw_xmit23a_classifier()
1829 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_get_ff_hwaddr23a() local
1831 switch (pattrib->qsel) { rtw_get_ff_hwaddr23a()
1919 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_enqueue_for_sleeping_sta23a() local
1921 int bmcst = is_multicast_ether_addr(pattrib->ra); xmitframe_enqueue_for_sleeping_sta23a()
1926 if (pattrib->psta) { xmitframe_enqueue_for_sleeping_sta23a()
1927 psta = pattrib->psta; xmitframe_enqueue_for_sleeping_sta23a()
1930 psta = rtw_get_stainfo23a(pstapriv, pattrib->ra); xmitframe_enqueue_for_sleeping_sta23a()
1944 if (pattrib->triggered == 1) { xmitframe_enqueue_for_sleeping_sta23a()
1946 pattrib->qsel = 0x11;/* HIQ */ xmitframe_enqueue_for_sleeping_sta23a()
1997 switch (pattrib->priority) { xmitframe_enqueue_for_sleeping_sta23a()
2058 struct pkt_attrib *pattrib; dequeue_xmitframes_to_sleeping_queue() local
2070 pattrib = &pxmitframe->attrib; list_for_each_safe()
2072 ptxservq = rtw_get_sta_pending23a(padapter, psta, pattrib->priority, (u8 *)(&ac_index)); list_for_each_safe()
416 update_attrib(struct rtw_adapter *padapter, struct sk_buff *skb, struct pkt_attrib *pattrib) update_attrib() argument
837 rtw_make_wlanhdr(struct rtw_adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib) rtw_make_wlanhdr() argument
989 rtw_txframes_sta_ac_pending23a(struct rtw_adapter *padapter, struct pkt_attrib *pattrib) rtw_txframes_sta_ac_pending23a() argument
H A Drtw_recv.c541 struct rx_pkt_attrib *pattrib; portctrl() local
548 pattrib = &pfhdr->attrib; portctrl()
549 psta_addr = pattrib->ta; portctrl()
627 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; process23a_pwrbit_data() local
631 psta = rtw_get_stainfo23a(pstapriv, pattrib->src); process23a_pwrbit_data()
654 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; process_wmmps_data() local
658 psta = rtw_get_stainfo23a(pstapriv, pattrib->src); process_wmmps_data()
673 switch (pattrib->priority) { process_wmmps_data()
700 (u16)pattrib->priority, process_wmmps_data()
715 struct rx_pkt_attrib *pattrib = & prframe->attrib; count_rx_stats() local
723 if ((!is_broadcast_ether_addr(pattrib->dst)) && count_rx_stats()
724 (!is_multicast_ether_addr(pattrib->dst))) count_rx_stats()
747 struct rx_pkt_attrib *pattrib = & precv_frame->attrib; sta2sta_data_frame() local
753 int bmcast = is_multicast_ether_addr(pattrib->dst); sta2sta_data_frame()
761 if (ether_addr_equal(myhwaddr, pattrib->src)) { sta2sta_data_frame()
768 if (!ether_addr_equal(myhwaddr, pattrib->dst) && !bmcast) { sta2sta_data_frame()
773 if (ether_addr_equal(pattrib->bssid, "\x0\x0\x0\x0\x0\x0") || sta2sta_data_frame()
775 !ether_addr_equal(pattrib->bssid, mybssid)) { sta2sta_data_frame()
780 sta_addr = pattrib->src; sta2sta_data_frame()
784 if (!ether_addr_equal(pattrib->bssid, pattrib->src)) { sta2sta_data_frame()
791 sta_addr = pattrib->bssid; sta2sta_data_frame()
796 if (!is_multicast_ether_addr(pattrib->bssid)) { sta2sta_data_frame()
803 if (!ether_addr_equal(pattrib->bssid, pattrib->dst)) { sta2sta_data_frame()
808 sta_addr = pattrib->src; sta2sta_data_frame()
811 ether_addr_copy(pattrib->dst, hdr->addr1); sta2sta_data_frame()
812 ether_addr_copy(pattrib->src, hdr->addr2); sta2sta_data_frame()
813 ether_addr_copy(pattrib->bssid, hdr->addr3); sta2sta_data_frame()
814 ether_addr_copy(pattrib->ra, pattrib->dst); sta2sta_data_frame()
815 ether_addr_copy(pattrib->ta, pattrib->src); sta2sta_data_frame()
848 struct rx_pkt_attrib *pattrib = & precv_frame->attrib; ap2sta_data_frame() local
854 int bmcast = is_multicast_ether_addr(pattrib->dst); ap2sta_data_frame()
863 if (ether_addr_equal(myhwaddr, pattrib->src)) { ap2sta_data_frame()
871 if (!ether_addr_equal(myhwaddr, pattrib->dst) && !bmcast) { ap2sta_data_frame()
874 pattrib->dst); ap2sta_data_frame()
880 if (ether_addr_equal(pattrib->bssid, "\x0\x0\x0\x0\x0\x0") || ap2sta_data_frame()
882 !ether_addr_equal(pattrib->bssid, mybssid)) { ap2sta_data_frame()
885 pattrib->bssid); ap2sta_data_frame()
891 pattrib->bssid); ap2sta_data_frame()
892 issue_deauth23a(adapter, pattrib->bssid, ap2sta_data_frame()
904 *psta = rtw_get_stainfo23a(pstapriv, pattrib->bssid); ap2sta_data_frame()
923 ether_addr_copy(pattrib->dst, hdr->addr1); ap2sta_data_frame()
924 ether_addr_copy(pattrib->src, hdr->addr2); ap2sta_data_frame()
925 ether_addr_copy(pattrib->bssid, hdr->addr3); ap2sta_data_frame()
926 ether_addr_copy(pattrib->ra, pattrib->dst); ap2sta_data_frame()
927 ether_addr_copy(pattrib->ta, pattrib->src); ap2sta_data_frame()
930 ether_addr_copy(pattrib->bssid, mybssid); ap2sta_data_frame()
933 *psta = rtw_get_stainfo23a(pstapriv, pattrib->bssid); ap2sta_data_frame()
945 if (ether_addr_equal(myhwaddr, pattrib->dst) && !bmcast) { ap2sta_data_frame()
946 *psta = rtw_get_stainfo23a(pstapriv, pattrib->bssid); ap2sta_data_frame()
949 pattrib->bssid); ap2sta_data_frame()
951 issue_deauth23a(adapter, pattrib->bssid, ap2sta_data_frame()
975 struct rx_pkt_attrib *pattrib = & precv_frame->attrib; sta2ap_data_frame() local
985 if (!ether_addr_equal(pattrib->bssid, mybssid)) { sta2ap_data_frame()
990 *psta = rtw_get_stainfo23a(pstapriv, pattrib->src); sta2ap_data_frame()
995 pattrib->src); sta2ap_data_frame()
997 issue_deauth23a(adapter, pattrib->src, sta2ap_data_frame()
1021 if (!ether_addr_equal(pattrib->ra, myhwaddr)) { sta2ap_data_frame()
1026 pattrib->src); sta2ap_data_frame()
1027 issue_deauth23a(adapter, pattrib->src, sta2ap_data_frame()
1044 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; validate_recv_ctrl_frame() local
1072 switch (pattrib->priority) { validate_recv_ctrl_frame()
1240 struct rx_pkt_attrib *pattrib = & precv_frame->attrib; validate_recv_data_frame() local
1252 ether_addr_copy(pattrib->dst, pda); validate_recv_data_frame()
1253 ether_addr_copy(pattrib->src, psa); validate_recv_data_frame()
1258 ether_addr_copy(pattrib->bssid, hdr->addr3); validate_recv_data_frame()
1259 ether_addr_copy(pattrib->ra, pda); validate_recv_data_frame()
1260 ether_addr_copy(pattrib->ta, psa); validate_recv_data_frame()
1265 ether_addr_copy(pattrib->bssid, hdr->addr2); validate_recv_data_frame()
1266 ether_addr_copy(pattrib->ra, pda); validate_recv_data_frame()
1267 ether_addr_copy(pattrib->ta, hdr->addr2); validate_recv_data_frame()
1272 ether_addr_copy(pattrib->bssid, hdr->addr1); validate_recv_data_frame()
1273 ether_addr_copy(pattrib->ra, hdr->addr1); validate_recv_data_frame()
1274 ether_addr_copy(pattrib->ta, psa); validate_recv_data_frame()
1283 ether_addr_copy(pattrib->bssid, hdr->addr1); validate_recv_data_frame()
1284 ether_addr_copy(pattrib->ra, hdr->addr1); validate_recv_data_frame()
1285 ether_addr_copy(pattrib->ta, hdr->addr2); validate_recv_data_frame()
1305 pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr); validate_recv_data_frame()
1307 pattrib->hdrlen += ETH_ALEN; validate_recv_data_frame()
1310 if (pattrib->qos == 1) { validate_recv_data_frame()
1314 pattrib->priority = qos_ctrl & IEEE80211_QOS_CTL_TID_MASK; validate_recv_data_frame()
1315 pattrib->ack_policy = (qos_ctrl >> 5) & 3; validate_recv_data_frame()
1316 pattrib->amsdu = validate_recv_data_frame()
1318 pattrib->hdrlen += IEEE80211_QOS_CTL_LEN; validate_recv_data_frame()
1320 if (pattrib->priority != 0 && pattrib->priority != 3) { validate_recv_data_frame()
1324 pattrib->priority = 0; validate_recv_data_frame()
1325 pattrib->ack_policy = 0; validate_recv_data_frame()
1326 pattrib->amsdu = 0; validate_recv_data_frame()
1329 if (pattrib->order) { /* HT-CTRL 11n */ validate_recv_data_frame()
1330 pattrib->hdrlen += 4; validate_recv_data_frame()
1333 precv_frame->preorder_ctrl = &psta->recvreorder_ctrl[pattrib->priority]; validate_recv_data_frame()
1344 if (pattrib->privacy) { validate_recv_data_frame()
1346 "validate_recv_data_frame:pattrib->privacy =%x\n", validate_recv_data_frame()
1347 pattrib->privacy); validate_recv_data_frame()
1349 "^^^^^^^^^^^is_multicast_ether_addr(pattrib->ra(0x%02x)) =%d^^^^^^^^^^^^^^^6\n", validate_recv_data_frame()
1350 pattrib->ra[0], validate_recv_data_frame()
1351 is_multicast_ether_addr(pattrib->ra)); validate_recv_data_frame()
1353 GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, validate_recv_data_frame()
1354 is_multicast_ether_addr(pattrib->ra)); validate_recv_data_frame()
1357 "pattrib->encrypt =%d\n", pattrib->encrypt); validate_recv_data_frame()
1359 switch (pattrib->encrypt) { validate_recv_data_frame()
1362 pattrib->iv_len = IEEE80211_WEP_IV_LEN; validate_recv_data_frame()
1363 pattrib->icv_len = IEEE80211_WEP_ICV_LEN; validate_recv_data_frame()
1366 pattrib->iv_len = IEEE80211_TKIP_IV_LEN; validate_recv_data_frame()
1367 pattrib->icv_len = IEEE80211_TKIP_ICV_LEN; validate_recv_data_frame()
1370 pattrib->iv_len = IEEE80211_CCMP_HDR_LEN; validate_recv_data_frame()
1371 pattrib->icv_len = IEEE80211_CCMP_MIC_LEN; validate_recv_data_frame()
1374 pattrib->iv_len = 0; validate_recv_data_frame()
1375 pattrib->icv_len = 0; validate_recv_data_frame()
1379 pattrib->encrypt = 0; validate_recv_data_frame()
1380 pattrib->iv_len = 0; validate_recv_data_frame()
1381 pattrib->icv_len = 0; validate_recv_data_frame()
1423 struct rx_pkt_attrib *pattrib = & precv_frame->attrib; validate_recv_frame() local
1444 pattrib->frag_num = seq_ctrl & IEEE80211_SCTL_FRAG; validate_recv_frame()
1445 pattrib->seq_num = seq_ctrl >> 4; validate_recv_frame()
1447 pattrib->pw_save = ieee80211_has_pm(hdr->frame_control); validate_recv_frame()
1448 pattrib->mfrag = ieee80211_has_morefrags(hdr->frame_control); validate_recv_frame()
1449 pattrib->mdata = ieee80211_has_moredata(hdr->frame_control); validate_recv_frame()
1450 pattrib->privacy = ieee80211_has_protected(hdr->frame_control); validate_recv_frame()
1451 pattrib->order = ieee80211_has_order(hdr->frame_control); validate_recv_frame()
1476 pattrib->qos = (subtype & IEEE80211_STYPE_QOS_DATA) ? 1 : 0; validate_recv_frame()
1507 struct rx_pkt_attrib *pattrib = &precvframe->attrib; wlanhdr_to_ethhdr() local
1512 hdrlen = pattrib->hdrlen; wlanhdr_to_ethhdr()
1533 "=== pattrib->hdrlen: %x, pattrib->iv_len:%x ===\n", wlanhdr_to_ethhdr()
1534 pattrib->hdrlen, pattrib->iv_len); wlanhdr_to_ethhdr()
1536 pattrib->eth_type = eth_type; wlanhdr_to_ethhdr()
1553 ether_addr_copy(ptr, pattrib->dst); wlanhdr_to_ethhdr()
1554 ether_addr_copy(ptr + ETH_ALEN, pattrib->src); wlanhdr_to_ethhdr()
1778 struct rx_pkt_attrib *pattrib; amsdu_to_msdu() local
1782 pattrib = &prframe->attrib; amsdu_to_msdu()
1841 struct rx_pkt_attrib *pattrib = &prframe->attrib; enqueue_reorder_recvframe23a() local
1859 if (SN_LESS(pnextattrib->seq_num, pattrib->seq_num)) { list_for_each_safe()
1861 } else if (SN_EQUAL(pnextattrib->seq_num, pattrib->seq_num)) { list_for_each_safe()
1896 struct rx_pkt_attrib *pattrib; recv_indicatepkts_in_order() local
1921 pattrib = &prframe->attrib; recv_indicatepkts_in_order()
1922 preorder_ctrl->indicate_seq = pattrib->seq_num; recv_indicatepkts_in_order()
1930 pattrib = &prframe->attrib; recv_indicatepkts_in_order()
1932 if (!SN_LESS(preorder_ctrl->indicate_seq, pattrib->seq_num)) { recv_indicatepkts_in_order()
1936 pattrib->seq_num, pattrib->amsdu); recv_indicatepkts_in_order()
1942 pattrib->seq_num)) { recv_indicatepkts_in_order()
1947 if (!pattrib->amsdu) { recv_indicatepkts_in_order()
1981 struct rx_pkt_attrib *pattrib; recv_indicatepkt_reorder() local
1985 pattrib = &prframe->attrib; recv_indicatepkt_reorder()
1989 if (!pattrib->amsdu) { recv_indicatepkt_reorder()
1993 if ((pattrib->qos!= 1) || (pattrib->eth_type == ETH_P_ARP) || recv_indicatepkt_reorder()
1994 (pattrib->ack_policy != 0)) { recv_indicatepkt_reorder()
2009 preorder_ctrl->indicate_seq = pattrib->seq_num; recv_indicatepkt_reorder()
2019 preorder_ctrl->indicate_seq = pattrib->seq_num; recv_indicatepkt_reorder()
2032 preorder_ctrl->indicate_seq, pattrib->seq_num); recv_indicatepkt_reorder()
2035 if (!check_indicate_seq(preorder_ctrl, pattrib->seq_num)) { recv_indicatepkt_reorder()
2106 /* struct rx_pkt_attrib *pattrib = &prframe->attrib; */ process_recv_indicatepkts()
2111 /* prframe->preorder_ctrl = &precvpriv->recvreorder_ctrl[pattrib->priority]; */ process_recv_indicatepkts()
H A Drtw_security.c158 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_wep_encrypt23a() local
170 if (pattrib->encrypt != WLAN_CIPHER_SUITE_WEP40 && rtw_wep_encrypt23a()
171 pattrib->encrypt != WLAN_CIPHER_SUITE_WEP104) rtw_wep_encrypt23a()
177 for (curfragnum = 0; curfragnum < pattrib->nr_frags ; curfragnum++) { rtw_wep_encrypt23a()
178 iv = pframe + pattrib->hdrlen; rtw_wep_encrypt23a()
182 payload = pframe + pattrib->iv_len + pattrib->hdrlen; rtw_wep_encrypt23a()
184 if ((curfragnum + 1) == pattrib->nr_frags) { rtw_wep_encrypt23a()
186 length = pattrib->last_txcmdsz - pattrib->hdrlen - rtw_wep_encrypt23a()
187 pattrib->iv_len - pattrib->icv_len; rtw_wep_encrypt23a()
195 length = pxmitpriv->frag_len - pattrib->hdrlen - rtw_wep_encrypt23a()
196 pattrib->iv_len - pattrib->icv_len; rtw_wep_encrypt23a()
613 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_tkip_encrypt23a() local
618 if (pattrib->encrypt != WLAN_CIPHER_SUITE_TKIP) rtw_tkip_encrypt23a()
628 if (pattrib->psta) rtw_tkip_encrypt23a()
629 stainfo = pattrib->psta; rtw_tkip_encrypt23a()
633 &pattrib->ra[0]); rtw_tkip_encrypt23a()
651 if (is_multicast_ether_addr(pattrib->ra)) rtw_tkip_encrypt23a()
659 for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { rtw_tkip_encrypt23a()
660 iv = pframe + pattrib->hdrlen; rtw_tkip_encrypt23a()
661 payload = pframe + pattrib->iv_len + pattrib->hdrlen; rtw_tkip_encrypt23a()
668 phase1((u16 *)&ttkey[0], prwskey, &pattrib->ta[0], pnh); rtw_tkip_encrypt23a()
672 if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */ rtw_tkip_encrypt23a()
673 length = (pattrib->last_txcmdsz - rtw_tkip_encrypt23a()
674 pattrib->hdrlen - rtw_tkip_encrypt23a()
675 pattrib->iv_len - rtw_tkip_encrypt23a()
676 pattrib->icv_len); rtw_tkip_encrypt23a()
679 "pattrib->iv_len =%x, pattrib->icv_len =%x\n", rtw_tkip_encrypt23a()
680 pattrib->iv_len, rtw_tkip_encrypt23a()
681 pattrib->icv_len); rtw_tkip_encrypt23a()
690 pattrib->hdrlen - rtw_tkip_encrypt23a()
691 pattrib->iv_len - rtw_tkip_encrypt23a()
692 pattrib->icv_len); rtw_tkip_encrypt23a()
1291 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_aes_encrypt23a() local
1304 if (pattrib->encrypt != WLAN_CIPHER_SUITE_CCMP) rtw_aes_encrypt23a()
1307 if (pattrib->psta) { rtw_aes_encrypt23a()
1308 stainfo = pattrib->psta; rtw_aes_encrypt23a()
1311 stainfo = rtw_get_stainfo23a(&padapter->stapriv, &pattrib->ra[0]); rtw_aes_encrypt23a()
1329 if (is_multicast_ether_addr(pattrib->ra)) rtw_aes_encrypt23a()
1336 for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { rtw_aes_encrypt23a()
1338 if ((curfragnum + 1) == pattrib->nr_frags) { rtw_aes_encrypt23a()
1339 length = pattrib->last_txcmdsz - rtw_aes_encrypt23a()
1340 pattrib->hdrlen-pattrib->iv_len - rtw_aes_encrypt23a()
1341 pattrib->icv_len; rtw_aes_encrypt23a()
1343 aes_cipher(prwskey, pattrib->hdrlen, pframe, length); rtw_aes_encrypt23a()
1345 length = pxmitpriv->frag_len-pattrib->hdrlen - rtw_aes_encrypt23a()
1346 pattrib->iv_len - pattrib->icv_len; rtw_aes_encrypt23a()
1348 aes_cipher(prwskey, pattrib->hdrlen, pframe, length); rtw_aes_encrypt23a()
H A Drtw_mlme_ext.c2227 struct pkt_attrib *pattrib) update_mgntframe_attrib23a()
2231 memset((u8 *)pattrib, 0, sizeof(struct pkt_attrib)); update_mgntframe_attrib23a()
2233 pattrib->hdrlen = 24; update_mgntframe_attrib23a()
2234 pattrib->nr_frags = 1; update_mgntframe_attrib23a()
2235 pattrib->priority = 7; update_mgntframe_attrib23a()
2236 pattrib->mac_id = 0; update_mgntframe_attrib23a()
2237 pattrib->qsel = 0x12; update_mgntframe_attrib23a()
2239 pattrib->pktlen = 0; update_mgntframe_attrib23a()
2242 pattrib->raid = 6;/* b mode */ update_mgntframe_attrib23a()
2244 pattrib->raid = 5;/* a/g mode */ update_mgntframe_attrib23a()
2246 pattrib->encrypt = 0; update_mgntframe_attrib23a()
2247 pattrib->bswenc = false; update_mgntframe_attrib23a()
2249 pattrib->qos_en = false; update_mgntframe_attrib23a()
2250 pattrib->ht_en = false; update_mgntframe_attrib23a()
2251 pattrib->bwmode = HT_CHANNEL_WIDTH_20; update_mgntframe_attrib23a()
2252 pattrib->ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE; update_mgntframe_attrib23a()
2253 pattrib->sgi = false; update_mgntframe_attrib23a()
2255 pattrib->seqnum = pmlmeext->mgnt_seq; update_mgntframe_attrib23a()
2257 pattrib->retry_ctrl = true; update_mgntframe_attrib23a()
2360 struct pkt_attrib *pattrib; issue_beacon23a() local
2386 pattrib = &pmgntframe->attrib; issue_beacon23a()
2387 update_mgntframe_attrib23a(padapter, pattrib); issue_beacon23a()
2388 pattrib->qsel = 0x10; issue_beacon23a()
2412 pattrib->pktlen = offsetof(struct ieee80211_mgmt, u.beacon.variable); issue_beacon23a()
2422 pattrib->pktlen += (cur_network->IELength+len_diff); issue_beacon23a()
2425 buflen = pattrib->pktlen - issue_beacon23a()
2447 cur_network->Ssid.ssid, &pattrib->pktlen); issue_beacon23a()
2453 cur_network->SupportedRates, &pattrib->pktlen); issue_beacon23a()
2457 &cur_network->DSConfig, &pattrib->pktlen); issue_beacon23a()
2468 &pattrib->pktlen); issue_beacon23a()
2472 &erpinfo, &pattrib->pktlen); issue_beacon23a()
2480 &pattrib->pktlen); issue_beacon23a()
2492 if ((pattrib->pktlen + TXDESC_SIZE) > 512) { issue_beacon23a()
2497 pattrib->last_txcmdsz = pattrib->pktlen; issue_beacon23a()
2499 /* DBG_8723A("issue bcn_sz =%d\n", pattrib->last_txcmdsz); */ issue_beacon23a()
2510 struct pkt_attrib *pattrib; issue_probersp() local
2539 pattrib = &pmgntframe->attrib; issue_probersp()
2540 update_mgntframe_attrib23a(padapter, pattrib); issue_probersp()
2560 pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr); issue_probersp()
2570 pattrib->pktlen = issue_probersp()
2584 pattrib->pktlen += cur_network->IELength; issue_probersp()
2616 pattrib->pktlen += ssid_ielen_diff; issue_probersp()
2625 &pattrib->pktlen); issue_probersp()
2632 &pattrib->pktlen); issue_probersp()
2637 &pattrib->pktlen); issue_probersp()
2647 &pattrib->pktlen); issue_probersp()
2651 &erpinfo, &pattrib->pktlen); issue_probersp()
2659 &pattrib->pktlen); issue_probersp()
2664 pattrib->last_txcmdsz = pattrib->pktlen; issue_probersp()
2676 struct pkt_attrib *pattrib; _issue_probereq() local
2695 pattrib = &pmgntframe->attrib; _issue_probereq()
2696 update_mgntframe_attrib23a(padapter, pattrib); _issue_probereq()
2726 pattrib->pktlen = sizeof (struct ieee80211_hdr_3addr); _issue_probereq()
2730 pssid->ssid, &pattrib->pktlen); _issue_probereq()
2733 &pattrib->pktlen); _issue_probereq()
2739 bssrate, &pattrib->pktlen); _issue_probereq()
2742 &pattrib->pktlen); _issue_probereq()
2745 bssrate_len, bssrate, &pattrib->pktlen); _issue_probereq()
2753 pattrib->pktlen += pmlmepriv->wps_probe_req_ie_len; _issue_probereq()
2756 pattrib->last_txcmdsz = pattrib->pktlen; _issue_probereq()
2759 "issuing probe_req, tx_len =%d\n", pattrib->last_txcmdsz); _issue_probereq()
2828 struct pkt_attrib *pattrib; issue_auth() local
2843 pattrib = &pmgntframe->attrib; issue_auth()
2844 update_mgntframe_attrib23a(padapter, pattrib); issue_auth()
2856 pattrib->pktlen = offsetof(struct ieee80211_mgmt, u.auth.variable); issue_auth()
2889 psta->chg_txt, &pattrib->pktlen); issue_auth()
2925 pattrib->pktlen += 4; issue_auth()
2927 pattrib->iv_len = IEEE80211_WEP_IV_LEN; issue_auth()
2948 &pattrib->pktlen); issue_auth()
2953 pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr); issue_auth()
2955 pattrib->encrypt = WLAN_CIPHER_SUITE_WEP40; issue_auth()
2957 pattrib->icv_len = IEEE80211_WEP_ICV_LEN; issue_auth()
2959 pattrib->pktlen += pattrib->icv_len; issue_auth()
2963 pattrib->last_txcmdsz = pattrib->pktlen; issue_auth()
2978 struct pkt_attrib *pattrib; issue_assocrsp() local
2995 pattrib = &pmgntframe->attrib; issue_assocrsp()
2996 update_mgntframe_attrib23a(padapter, pattrib); issue_assocrsp()
3013 pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr); issue_assocrsp()
3014 pattrib->pktlen = issue_assocrsp()
3026 &pattrib->pktlen); issue_assocrsp()
3029 pstat->bssrateset, &pattrib->pktlen); issue_assocrsp()
3032 pstat->bssrateset + 8, &pattrib->pktlen); issue_assocrsp()
3043 pattrib->pktlen += (p[1] + 2); issue_assocrsp()
3053 pattrib->pktlen += (p[1] + 2); issue_assocrsp()
3073 pattrib->pktlen += (ie_len + 2); issue_assocrsp()
3085 REALTEK_96B_IE, &pattrib->pktlen); issue_assocrsp()
3088 pattrib->last_txcmdsz = pattrib->pktlen; issue_assocrsp()
3098 struct pkt_attrib *pattrib; issue_assocreq() local
3117 pattrib = &pmgntframe->attrib; issue_assocreq()
3118 update_mgntframe_attrib23a(padapter, pattrib); issue_assocreq()
3142 pattrib->pktlen = offsetof(struct ieee80211_mgmt, u.assoc_req.variable); issue_assocreq()
3147 pmlmeinfo->network.Ssid.ssid, &pattrib->pktlen); issue_assocreq()
3208 bssrate, &pattrib->pktlen); issue_assocreq()
3211 &pattrib->pktlen); issue_assocreq()
3214 bssrate_len, bssrate, &pattrib->pktlen); issue_assocreq()
3224 &pattrib->pktlen); issue_assocreq()
3292 &pattrib->pktlen); issue_assocreq()
3318 &pattrib->pktlen); issue_assocreq()
3331 REALTEK_96B_IE, &pattrib->pktlen); issue_assocreq()
3333 pattrib->last_txcmdsz = pattrib->pktlen; issue_assocreq()
3342 pmlmepriv->assoc_req = kmalloc(pattrib->pktlen, GFP_ATOMIC); issue_assocreq()
3344 memcpy(pmlmepriv->assoc_req, mgmt, pattrib->pktlen); issue_assocreq()
3345 pmlmepriv->assoc_req_len = pattrib->pktlen; issue_assocreq()
3359 struct pkt_attrib *pattrib; _issue_nulldata23a() local
3380 pattrib = &pmgntframe->attrib; _issue_nulldata23a()
3381 update_mgntframe_attrib23a(padapter, pattrib); _issue_nulldata23a()
3382 pattrib->retry_ctrl = false; _issue_nulldata23a()
3409 pattrib->pktlen = sizeof(struct ieee80211_hdr_3addr); _issue_nulldata23a()
3411 pattrib->last_txcmdsz = pattrib->pktlen; _issue_nulldata23a()
3482 struct pkt_attrib *pattrib; _issue_qos_nulldata23a() local
3496 pattrib = &pmgntframe->attrib; _issue_qos_nulldata23a()
3497 update_mgntframe_attrib23a(padapter, pattrib); _issue_qos_nulldata23a()
3499 pattrib->hdrlen += 2; _issue_qos_nulldata23a()
3500 pattrib->qos_en = true; _issue_qos_nulldata23a()
3501 pattrib->eosp = 1; _issue_qos_nulldata23a()
3502 pattrib->ack_policy = 0; _issue_qos_nulldata23a()
3503 pattrib->mdata = 0; _issue_qos_nulldata23a()
3518 if (pattrib->mdata) _issue_qos_nulldata23a()
3522 pwlanhdr->qos_ctrl |= cpu_to_le16((pattrib->ack_policy << 5) & _issue_qos_nulldata23a()
3524 if (pattrib->eosp) _issue_qos_nulldata23a()
3536 pattrib->pktlen = sizeof(struct ieee80211_qos_hdr); _issue_qos_nulldata23a()
3538 pattrib->last_txcmdsz = pattrib->pktlen; _issue_qos_nulldata23a()
3606 struct pkt_attrib *pattrib; _issue_deauth() local
3620 pattrib = &pmgntframe->attrib; _issue_deauth()
3621 update_mgntframe_attrib23a(padapter, pattrib); _issue_deauth()
3622 pattrib->retry_ctrl = false; _issue_deauth()
3638 pattrib->pktlen = sizeof(struct ieee80211_hdr_3addr) + 2; _issue_deauth()
3642 pattrib->last_txcmdsz = pattrib->pktlen; _issue_deauth()
3710 struct pkt_attrib *pattrib; issue_action_spct_ch_switch23a() local
3724 pattrib = &pmgntframe->attrib; issue_action_spct_ch_switch23a()
3725 update_mgntframe_attrib23a(padapter, pattrib); issue_action_spct_ch_switch23a()
3745 pattrib->pktlen = offsetof(struct ieee80211_mgmt, issue_action_spct_ch_switch23a()
3748 pframe = rtw_set_ie23a_ch_switch (pframe, &pattrib->pktlen, 0, issue_action_spct_ch_switch23a()
3750 pframe = rtw_set_ie23a_secondary_ch_offset(pframe, &pattrib->pktlen, issue_action_spct_ch_switch23a()
3753 pattrib->last_txcmdsz = pattrib->pktlen; issue_action_spct_ch_switch23a()
3768 struct pkt_attrib *pattrib; issue_action_BA23a() local
3785 pattrib = &pmgntframe->attrib; issue_action_BA23a()
3786 update_mgntframe_attrib23a(padapter, pattrib); issue_action_BA23a()
3804 pattrib->pktlen = sizeof(struct ieee80211_hdr_3addr) + 1; issue_action_BA23a()
3810 pattrib->pktlen += sizeof(mgmt->u.action.u.addba_req); issue_action_BA23a()
3870 pattrib->pktlen += sizeof(mgmt->u.action.u.addba_resp); issue_action_BA23a()
3914 pattrib->pktlen += 8; issue_action_BA23a()
3917 pattrib->pktlen += sizeof(mgmt->u.action.u.delba); issue_action_BA23a()
3925 pattrib->pktlen += 5; issue_action_BA23a()
3931 pattrib->last_txcmdsz = pattrib->pktlen; issue_action_BA23a()
2226 update_mgntframe_attrib23a(struct rtw_adapter *padapter, struct pkt_attrib *pattrib) update_mgntframe_attrib23a() argument
H A Drtw_mlme.c2285 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_issue_addbareq_cmd23a() local
2286 s32 bmcst = is_multicast_ether_addr(pattrib->ra); rtw_issue_addbareq_cmd23a()
2291 priority = pattrib->priority; rtw_issue_addbareq_cmd23a()
2293 if (pattrib->psta) rtw_issue_addbareq_cmd23a()
2294 psta = pattrib->psta; rtw_issue_addbareq_cmd23a()
2297 psta = rtw_get_stainfo23a(&padapter->stapriv, pattrib->ra); rtw_issue_addbareq_cmd23a()
2322 pattrib->ra); rtw_issue_addbareq_cmd23a()
/linux-4.1.27/drivers/staging/rtl8188eu/core/
H A Drtw_xmit.c274 struct pkt_attrib *pattrib = &pxmitframe->attrib; update_attrib_vcs_info() local
275 struct sta_info *psta = pattrib->psta; update_attrib_vcs_info()
279 if (pattrib->nr_frags != 1) update_attrib_vcs_info()
282 sz = pattrib->last_txcmdsz; update_attrib_vcs_info()
290 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
293 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
295 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_vcs_info()
297 pattrib->vcs_mode = NONE_VCS; update_attrib_vcs_info()
302 if ((pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_ATHEROS) && pattrib->ampdu_en && update_attrib_vcs_info()
304 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_vcs_info()
311 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
313 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_vcs_info()
319 if (pattrib->ht_en) { update_attrib_vcs_info()
323 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
330 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
337 if (pattrib->ampdu_en) { update_attrib_vcs_info()
338 pattrib->vcs_mode = RTS_CTS; update_attrib_vcs_info()
342 pattrib->vcs_mode = NONE_VCS; update_attrib_vcs_info()
348 static void update_attrib_phy_info(struct pkt_attrib *pattrib, struct sta_info *psta) update_attrib_phy_info() argument
351 pattrib->vcs_mode = RTS_CTS; update_attrib_phy_info()
353 pattrib->vcs_mode = CTS_TO_SELF; update_attrib_phy_info()
355 pattrib->vcs_mode = NONE_VCS;*/ update_attrib_phy_info()
357 pattrib->mdata = 0; update_attrib_phy_info()
358 pattrib->eosp = 0; update_attrib_phy_info()
359 pattrib->triggered = 0; update_attrib_phy_info()
362 pattrib->qos_en = psta->qos_option; update_attrib_phy_info()
364 pattrib->raid = psta->raid; update_attrib_phy_info()
365 pattrib->ht_en = psta->htpriv.ht_option; update_attrib_phy_info()
366 pattrib->bwmode = psta->htpriv.bwmode; update_attrib_phy_info()
367 pattrib->ch_offset = psta->htpriv.ch_offset; update_attrib_phy_info()
368 pattrib->sgi = psta->htpriv.sgi; update_attrib_phy_info()
369 pattrib->ampdu_en = false; update_attrib_phy_info()
370 pattrib->retry_ctrl = false; update_attrib_phy_info()
397 DBG_88E("qos_acm(): invalid pattrib->priority: %d!!!\n", priority); qos_acm()
404 static void set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib) set_qos() argument
414 if (pattrib->ether_type == 0x0800) { set_qos()
418 } else if (pattrib->ether_type == 0x888e) { set_qos()
424 pattrib->priority = user_prio; set_qos()
425 pattrib->hdrlen = WLAN_HDR_A3_QOS_LEN; set_qos()
426 pattrib->subtype = WIFI_QOS_DATA_TYPE; set_qos()
429 static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct pkt_attrib *pattrib) update_attrib() argument
446 pattrib->ether_type = ntohs(etherhdr.h_proto); update_attrib()
448 memcpy(pattrib->dst, &etherhdr.h_dest, ETH_ALEN); update_attrib()
449 memcpy(pattrib->src, &etherhdr.h_source, ETH_ALEN); update_attrib()
451 pattrib->pctrl = 0; update_attrib()
455 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); update_attrib()
456 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); update_attrib()
458 memcpy(pattrib->ra, get_bssid(pmlmepriv), ETH_ALEN); update_attrib()
459 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); update_attrib()
461 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); update_attrib()
462 memcpy(pattrib->ta, get_bssid(pmlmepriv), ETH_ALEN); update_attrib()
465 pattrib->pktlen = pktfile.pkt_len; update_attrib()
467 if (ETH_P_IP == pattrib->ether_type) { update_attrib()
472 pattrib->dhcp_pkt = 0; update_attrib()
474 if (ETH_P_IP == pattrib->ether_type) {/* IP header */ update_attrib()
481 pattrib->dhcp_pkt = 1; update_attrib()
485 } else if (0x888e == pattrib->ether_type) { update_attrib()
489 if ((pattrib->ether_type == 0x888e) || (pattrib->dhcp_pkt == 1)) update_attrib()
493 if ((pattrib->ether_type == 0x0806) || (pattrib->ether_type == 0x888e) || (pattrib->dhcp_pkt == 1)) update_attrib()
496 bmcast = IS_MCAST(pattrib->ra); update_attrib()
502 psta = rtw_get_stainfo(pstapriv, pattrib->ra); update_attrib()
504 RT_TRACE(_module_rtl871x_xmit_c_, _drv_alert_, ("\nupdate_attrib => get sta_info fail, ra: %pM\n", (pattrib->ra))); update_attrib()
514 pattrib->mac_id = psta->mac_id; update_attrib()
515 /* DBG_88E("%s ==> mac_id(%d)\n", __func__, pattrib->mac_id); */ update_attrib()
516 pattrib->psta = psta; update_attrib()
519 RT_TRACE(_module_rtl871x_xmit_c_, _drv_alert_, ("\nupdate_attrib => get sta_info fail, ra:%pM\n", (pattrib->ra))); update_attrib()
524 pattrib->ack_policy = 0; update_attrib()
526 pattrib->pkt_hdrlen = ETH_HLEN;/* pattrib->ether_type == 0x8100) ? (14 + 4): 14; vlan tag */ update_attrib()
528 pattrib->hdrlen = WLAN_HDR_A3_LEN; update_attrib()
529 pattrib->subtype = WIFI_DATA_TYPE; update_attrib()
530 pattrib->priority = 0; update_attrib()
534 set_qos(&pktfile, pattrib); update_attrib()
537 set_qos(&pktfile, pattrib); update_attrib()
540 pattrib->priority = qos_acm(pmlmepriv->acm_mask, pattrib->priority); update_attrib()
547 pattrib->encrypt = 0; update_attrib()
549 if ((pattrib->ether_type != 0x888e) && !check_fwstate(pmlmepriv, WIFI_MP_STATE)) { update_attrib()
550 RT_TRACE(_module_rtl871x_xmit_c_, _drv_err_, ("\npsta->ieee8021x_blocked == true, pattrib->ether_type(%.4x) != 0x888e\n", pattrib->ether_type)); update_attrib()
555 GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, bmcast); update_attrib()
561 pattrib->key_idx = (u8)psecuritypriv->dot11PrivacyKeyIndex; update_attrib()
565 pattrib->key_idx = (u8)psecuritypriv->dot118021XGrpKeyid; update_attrib()
567 pattrib->key_idx = 0; update_attrib()
570 pattrib->key_idx = 0; update_attrib()
575 switch (pattrib->encrypt) { update_attrib()
578 pattrib->iv_len = 4; update_attrib()
579 pattrib->icv_len = 4; update_attrib()
582 pattrib->iv_len = 8; update_attrib()
583 pattrib->icv_len = 4; update_attrib()
594 RT_TRACE(_module_rtl871x_xmit_c_, _drv_info_, ("pattrib->encrypt=%d (_AES_)\n", pattrib->encrypt)); update_attrib()
595 pattrib->iv_len = 8; update_attrib()
596 pattrib->icv_len = 8; update_attrib()
599 pattrib->iv_len = 0; update_attrib()
600 pattrib->icv_len = 0; update_attrib()
606 pattrib->encrypt, padapter->securitypriv.sw_encrypt)); update_attrib()
608 if (pattrib->encrypt && update_attrib()
610 pattrib->bswenc = true; update_attrib()
613 pattrib->encrypt, padapter->securitypriv.sw_encrypt)); update_attrib()
615 pattrib->bswenc = false; update_attrib()
619 update_attrib_phy_info(pattrib, psta); update_attrib()
633 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_addmic() local
638 int bmcst = IS_MCAST(pattrib->ra); xmitframe_addmic()
640 if (pattrib->psta) xmitframe_addmic()
641 stainfo = pattrib->psta; xmitframe_addmic()
643 stainfo = rtw_get_stainfo(&padapter->stapriv , &pattrib->ra[0]); xmitframe_addmic()
648 if (pattrib->encrypt == _TKIP_) {/* if (psecuritypriv->dot11PrivacyAlgrthm == _TKIP_PRIVACY_) */ xmitframe_addmic()
686 if (pattrib->qos_en) xmitframe_addmic()
693 for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { xmitframe_addmic()
702 payload = payload+pattrib->hdrlen+pattrib->iv_len; xmitframe_addmic()
704 ("curfragnum=%d pattrib->hdrlen=%d pattrib->iv_len=%d", xmitframe_addmic()
705 curfragnum, pattrib->hdrlen, pattrib->iv_len)); xmitframe_addmic()
706 if ((curfragnum+1) == pattrib->nr_frags) { xmitframe_addmic()
707 length = pattrib->last_txcmdsz-pattrib->hdrlen-pattrib->iv_len-((pattrib->bswenc) ? pattrib->icv_len : 0); xmitframe_addmic()
711 length = pxmitpriv->frag_len-pattrib->hdrlen-pattrib->iv_len-((pattrib->bswenc) ? pattrib->icv_len : 0); xmitframe_addmic()
713 payload = payload+length+pattrib->icv_len; xmitframe_addmic()
714 RT_TRACE(_module_rtl871x_xmit_c_, _drv_err_, ("curfragnum=%d length=%d pattrib->icv_len=%d", curfragnum, length, pattrib->icv_len)); xmitframe_addmic()
719 RT_TRACE(_module_rtl871x_xmit_c_, _drv_err_, ("xmitframe_addmic: pattrib->last_txcmdsz=%d!!!\n", pattrib->last_txcmdsz)); xmitframe_addmic()
726 pattrib->last_txcmdsz += 8; xmitframe_addmic()
729 payload = payload-pattrib->last_txcmdsz+8; xmitframe_addmic()
730 for (curfragnum = 0; curfragnum < pattrib->last_txcmdsz; curfragnum = curfragnum+8) xmitframe_addmic()
748 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_swencrypt() local
751 if (pattrib->bswenc) { xmitframe_swencrypt()
753 switch (pattrib->encrypt) { xmitframe_swencrypt()
775 s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib) rtw_make_wlanhdr() argument
789 int bmcst = IS_MCAST(pattrib->ra); rtw_make_wlanhdr()
792 if (pattrib->psta) { rtw_make_wlanhdr()
793 psta = pattrib->psta; rtw_make_wlanhdr()
798 psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra); rtw_make_wlanhdr()
804 SetFrameSubType(fctrl, pattrib->subtype); rtw_make_wlanhdr()
806 if (pattrib->subtype & WIFI_DATA_TYPE) { rtw_make_wlanhdr()
812 memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); rtw_make_wlanhdr()
813 memcpy(pwlanhdr->addr3, pattrib->dst, ETH_ALEN); rtw_make_wlanhdr()
820 memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); rtw_make_wlanhdr()
822 memcpy(pwlanhdr->addr3, pattrib->src, ETH_ALEN); rtw_make_wlanhdr()
828 memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); rtw_make_wlanhdr()
829 memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); rtw_make_wlanhdr()
840 if (pattrib->mdata) rtw_make_wlanhdr()
843 if (pattrib->encrypt) rtw_make_wlanhdr()
847 qc = (unsigned short *)(hdr + pattrib->hdrlen - 2); rtw_make_wlanhdr()
849 if (pattrib->priority) rtw_make_wlanhdr()
850 SetPriority(qc, pattrib->priority); rtw_make_wlanhdr()
852 SetEOSP(qc, pattrib->eosp); rtw_make_wlanhdr()
854 SetAckpolicy(qc, pattrib->ack_policy); rtw_make_wlanhdr()
861 psta->sta_xmitpriv.txseq_tid[pattrib->priority]++; rtw_make_wlanhdr()
862 psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF; rtw_make_wlanhdr()
864 pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority]; rtw_make_wlanhdr()
866 SetSeqNum(hdr, pattrib->seqnum); rtw_make_wlanhdr()
869 if (pattrib->ht_en && psta->htpriv.ampdu_enable) { rtw_make_wlanhdr()
870 if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) rtw_make_wlanhdr()
871 pattrib->ampdu_en = true; rtw_make_wlanhdr()
875 if (pattrib->ampdu_en) { rtw_make_wlanhdr()
878 tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f]; rtw_make_wlanhdr()
881 if (SN_LESS(pattrib->seqnum, tx_seq)) { rtw_make_wlanhdr()
882 pattrib->ampdu_en = false;/* AGG BK */ rtw_make_wlanhdr()
883 } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) { rtw_make_wlanhdr()
884 psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff; rtw_make_wlanhdr()
886 pattrib->ampdu_en = true;/* AGG EN */ rtw_make_wlanhdr()
888 psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff; rtw_make_wlanhdr()
889 pattrib->ampdu_en = true;/* AGG EN */ rtw_make_wlanhdr()
909 s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, struct pkt_attrib *pattrib) rtw_txframes_sta_ac_pending() argument
913 int priority = pattrib->priority; rtw_txframes_sta_ac_pending()
915 psta = pattrib->psta; rtw_txframes_sta_ac_pending()
944 u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib) rtw_calculate_wlan_pkt_size_by_attribue() argument
948 len = pattrib->hdrlen + pattrib->iv_len; /* WLAN Header and IV */ rtw_calculate_wlan_pkt_size_by_attribue()
950 len += pattrib->pktlen; rtw_calculate_wlan_pkt_size_by_attribue()
951 if (pattrib->encrypt == _TKIP_) rtw_calculate_wlan_pkt_size_by_attribue()
953 len += ((pattrib->bswenc) ? pattrib->icv_len : 0); /* ICV */ rtw_calculate_wlan_pkt_size_by_attribue()
979 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_xmitframe_coalesce() local
981 s32 bmcst = IS_MCAST(pattrib->ra); rtw_xmitframe_coalesce()
985 psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra); rtw_xmitframe_coalesce()
1001 if (rtw_make_wlanhdr(padapter, mem_start, pattrib) == _FAIL) { rtw_xmitframe_coalesce()
1009 _rtw_pktfile_read(&pktfile, NULL, pattrib->pkt_hdrlen); rtw_xmitframe_coalesce()
1023 pframe += pattrib->hdrlen; rtw_xmitframe_coalesce()
1024 mpdu_len -= pattrib->hdrlen; rtw_xmitframe_coalesce()
1027 if (pattrib->iv_len) { rtw_xmitframe_coalesce()
1028 switch (pattrib->encrypt) { rtw_xmitframe_coalesce()
1031 WEP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); rtw_xmitframe_coalesce()
1035 TKIP_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); rtw_xmitframe_coalesce()
1037 TKIP_IV(pattrib->iv, psta->dot11txpn, 0); rtw_xmitframe_coalesce()
1041 AES_IV(pattrib->iv, psta->dot11txpn, pattrib->key_idx); rtw_xmitframe_coalesce()
1043 AES_IV(pattrib->iv, psta->dot11txpn, 0); rtw_xmitframe_coalesce()
1047 memcpy(pframe, pattrib->iv, pattrib->iv_len); rtw_xmitframe_coalesce()
1050 ("rtw_xmitframe_coalesce: keyid=%d pattrib->iv[3]=%.2x pframe=%.2x %.2x %.2x %.2x\n", rtw_xmitframe_coalesce()
1051 padapter->securitypriv.dot11PrivacyKeyIndex, pattrib->iv[3], *pframe, *(pframe+1), *(pframe+2), *(pframe+3))); rtw_xmitframe_coalesce()
1053 pframe += pattrib->iv_len; rtw_xmitframe_coalesce()
1055 mpdu_len -= pattrib->iv_len; rtw_xmitframe_coalesce()
1059 llc_sz = rtw_put_snap(pframe, pattrib->ether_type); rtw_xmitframe_coalesce()
1064 if ((pattrib->icv_len > 0) && (pattrib->bswenc)) { rtw_xmitframe_coalesce()
1065 mpdu_len -= pattrib->icv_len; rtw_xmitframe_coalesce()
1070 mem_sz = _rtw_pktfile_read(&pktfile, pframe, pattrib->pktlen); rtw_xmitframe_coalesce()
1077 if ((pattrib->icv_len > 0) && (pattrib->bswenc)) { rtw_xmitframe_coalesce()
1078 memcpy(pframe, pattrib->icv, pattrib->icv_len); rtw_xmitframe_coalesce()
1079 pframe += pattrib->icv_len; rtw_xmitframe_coalesce()
1085 pattrib->nr_frags = frg_inx; rtw_xmitframe_coalesce()
1087 pattrib->last_txcmdsz = pattrib->hdrlen + pattrib->iv_len + ((pattrib->nr_frags == 1) ? llc_sz : 0) + rtw_xmitframe_coalesce()
1088 ((pattrib->bswenc) ? pattrib->icv_len : 0) + mem_sz; rtw_xmitframe_coalesce()
1100 memcpy(mem_start, pbuf_start + hw_hdr_offset, pattrib->hdrlen); rtw_xmitframe_coalesce()
1115 pattrib->vcs_mode = NONE_VCS; rtw_xmitframe_coalesce()
1597 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_xmit_classifier() local
1603 if (pattrib->psta) { rtw_xmit_classifier()
1604 psta = pattrib->psta; rtw_xmit_classifier()
1606 psta = rtw_get_stainfo(pstapriv, pattrib->ra); rtw_xmit_classifier()
1616 ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index)); rtw_xmit_classifier()
1667 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_get_ff_hwaddr() local
1669 switch (pattrib->qsel) { rtw_get_ff_hwaddr()
1701 static void do_queue_select(struct adapter *padapter, struct pkt_attrib *pattrib) do_queue_select() argument
1705 qsel = pattrib->priority; do_queue_select()
1706 RT_TRACE(_module_rtl871x_xmit_c_, _drv_info_, ("### do_queue_select priority=%d , qsel = %d\n", pattrib->priority , qsel)); do_queue_select()
1708 pattrib->qsel = qsel; do_queue_select()
1767 struct pkt_attrib *pattrib = &pxmitframe->attrib; xmitframe_enqueue_for_sleeping_sta() local
1769 int bmcst = IS_MCAST(pattrib->ra); xmitframe_enqueue_for_sleeping_sta()
1774 if (pattrib->psta) xmitframe_enqueue_for_sleeping_sta()
1775 psta = pattrib->psta; xmitframe_enqueue_for_sleeping_sta()
1777 psta = rtw_get_stainfo(pstapriv, pattrib->ra); xmitframe_enqueue_for_sleeping_sta()
1782 if (pattrib->triggered == 1) { xmitframe_enqueue_for_sleeping_sta()
1784 pattrib->qsel = 0x11;/* HIQ */ xmitframe_enqueue_for_sleeping_sta()
1823 switch (pattrib->priority) { xmitframe_enqueue_for_sleeping_sta()
1869 struct pkt_attrib *pattrib; dequeue_xmitframes_to_sleeping_queue() local
1883 pattrib = &pxmitframe->attrib; dequeue_xmitframes_to_sleeping_queue()
1885 ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index)); dequeue_xmitframes_to_sleeping_queue()
H A Drtw_recv.c500 struct rx_pkt_attrib *pattrib; portctrl() local
510 pattrib = &pfhdr->attrib; portctrl()
511 psta_addr = pattrib->ta; portctrl()
544 if (pattrib->bdecrypted == 0) portctrl()
545 RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("portctrl:prxstat->decrypted=%x\n", pattrib->bdecrypted)); portctrl()
601 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; process_pwrbit_data() local
605 psta = rtw_get_stainfo(pstapriv, pattrib->src); process_pwrbit_data()
626 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; process_wmmps_data() local
630 psta = rtw_get_stainfo(pstapriv, pattrib->src); process_wmmps_data()
644 switch (pattrib->priority) { process_wmmps_data()
670 issue_qos_nulldata(padapter, psta->hwaddr, (u16)pattrib->priority, 0, 0); process_wmmps_data()
685 struct rx_pkt_attrib *pattrib = &prframe->attrib; count_rx_stats() local
693 if ((!MacAddr_isBcst(pattrib->dst)) && (!IS_MCAST(pattrib->dst))) count_rx_stats()
720 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; sta2sta_data_frame() local
726 int bmcast = IS_MCAST(pattrib->dst); sta2sta_data_frame()
732 if (!memcmp(myhwaddr, pattrib->src, ETH_ALEN)) { sta2sta_data_frame()
738 if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast)) { sta2sta_data_frame()
743 if (!memcmp(pattrib->bssid, "\x0\x0\x0\x0\x0\x0", ETH_ALEN) || sta2sta_data_frame()
745 memcmp(pattrib->bssid, mybssid, ETH_ALEN)) { sta2sta_data_frame()
750 sta_addr = pattrib->src; sta2sta_data_frame()
753 if (memcmp(pattrib->bssid, pattrib->src, ETH_ALEN)) { sta2sta_data_frame()
758 sta_addr = pattrib->bssid; sta2sta_data_frame()
762 if (!IS_MCAST(pattrib->bssid)) { sta2sta_data_frame()
768 if (memcmp(pattrib->bssid, pattrib->dst, ETH_ALEN)) { sta2sta_data_frame()
773 sta_addr = pattrib->src; sta2sta_data_frame()
776 memcpy(pattrib->dst, GetAddr1Ptr(ptr), ETH_ALEN); sta2sta_data_frame()
777 memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN); sta2sta_data_frame()
778 memcpy(pattrib->bssid, GetAddr3Ptr(ptr), ETH_ALEN); sta2sta_data_frame()
779 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); sta2sta_data_frame()
780 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); sta2sta_data_frame()
808 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; ap2sta_data_frame() local
814 int bmcast = IS_MCAST(pattrib->dst); ap2sta_data_frame()
821 if (!memcmp(myhwaddr, pattrib->src, ETH_ALEN)) { ap2sta_data_frame()
828 if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast)) { ap2sta_data_frame()
830 (" ap2sta_data_frame: compare DA fail; DA=%pM\n", (pattrib->dst))); ap2sta_data_frame()
836 if (!memcmp(pattrib->bssid, "\x0\x0\x0\x0\x0\x0", ETH_ALEN) || ap2sta_data_frame()
838 (memcmp(pattrib->bssid, mybssid, ETH_ALEN))) { ap2sta_data_frame()
840 (" ap2sta_data_frame: compare BSSID fail ; BSSID=%pM\n", (pattrib->bssid))); ap2sta_data_frame()
844 DBG_88E("issue_deauth to the nonassociated ap=%pM for the reason(7)\n", (pattrib->bssid)); ap2sta_data_frame()
845 issue_deauth(adapter, pattrib->bssid, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA); ap2sta_data_frame()
855 *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get ap_info */ ap2sta_data_frame()
874 memcpy(pattrib->dst, GetAddr1Ptr(ptr), ETH_ALEN); ap2sta_data_frame()
875 memcpy(pattrib->src, GetAddr2Ptr(ptr), ETH_ALEN); ap2sta_data_frame()
876 memcpy(pattrib->bssid, GetAddr3Ptr(ptr), ETH_ALEN); ap2sta_data_frame()
877 memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); ap2sta_data_frame()
878 memcpy(pattrib->ta, pattrib->src, ETH_ALEN); ap2sta_data_frame()
881 memcpy(pattrib->bssid, mybssid, ETH_ALEN); ap2sta_data_frame()
883 *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get sta_info */ ap2sta_data_frame()
894 if (!memcmp(myhwaddr, pattrib->dst, ETH_ALEN) && (!bmcast)) { ap2sta_data_frame()
895 *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get sta_info */ ap2sta_data_frame()
897 DBG_88E("issue_deauth to the ap =%pM for the reason(7)\n", (pattrib->bssid)); ap2sta_data_frame()
899 issue_deauth(adapter, pattrib->bssid, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA); ap2sta_data_frame()
916 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; sta2ap_data_frame() local
926 if (memcmp(pattrib->bssid, mybssid, ETH_ALEN)) { sta2ap_data_frame()
931 *psta = rtw_get_stainfo(pstapriv, pattrib->src); sta2ap_data_frame()
934 DBG_88E("issue_deauth to sta=%pM for the reason(7)\n", (pattrib->src)); sta2ap_data_frame()
936 issue_deauth(adapter, pattrib->src, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA); sta2ap_data_frame()
956 if (memcmp(pattrib->ra, myhwaddr, ETH_ALEN)) { sta2ap_data_frame()
960 DBG_88E("issue_deauth to sta=%pM for the reason(7)\n", (pattrib->src)); sta2ap_data_frame()
961 issue_deauth(adapter, pattrib->src, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA); sta2ap_data_frame()
976 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; validate_recv_ctrl_frame() local
1002 switch (pattrib->priority) { validate_recv_ctrl_frame()
1146 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; validate_recv_data_frame() local
1161 memcpy(pattrib->dst, pda, ETH_ALEN); validate_recv_data_frame()
1162 memcpy(pattrib->src, psa, ETH_ALEN); validate_recv_data_frame()
1164 memcpy(pattrib->bssid, pbssid, ETH_ALEN); validate_recv_data_frame()
1166 switch (pattrib->to_fr_ds) { validate_recv_data_frame()
1168 memcpy(pattrib->ra, pda, ETH_ALEN); validate_recv_data_frame()
1169 memcpy(pattrib->ta, psa, ETH_ALEN); validate_recv_data_frame()
1173 memcpy(pattrib->ra, pda, ETH_ALEN); validate_recv_data_frame()
1174 memcpy(pattrib->ta, pbssid, ETH_ALEN); validate_recv_data_frame()
1178 memcpy(pattrib->ra, pbssid, ETH_ALEN); validate_recv_data_frame()
1179 memcpy(pattrib->ta, psa, ETH_ALEN); validate_recv_data_frame()
1183 memcpy(pattrib->ra, GetAddr1Ptr(ptr), ETH_ALEN); validate_recv_data_frame()
1184 memcpy(pattrib->ta, GetAddr2Ptr(ptr), ETH_ALEN); validate_recv_data_frame()
1209 pattrib->amsdu = 0; validate_recv_data_frame()
1210 pattrib->ack_policy = 0; validate_recv_data_frame()
1212 if (pattrib->qos == 1) { validate_recv_data_frame()
1213 pattrib->priority = GetPriority((ptr + 24)); validate_recv_data_frame()
1214 pattrib->ack_policy = GetAckpolicy((ptr + 24)); validate_recv_data_frame()
1215 pattrib->amsdu = GetAMsdu((ptr + 24)); validate_recv_data_frame()
1216 pattrib->hdrlen = pattrib->to_fr_ds == 3 ? 32 : 26; validate_recv_data_frame()
1218 if (pattrib->priority != 0 && pattrib->priority != 3) validate_recv_data_frame()
1221 pattrib->priority = 0; validate_recv_data_frame()
1222 pattrib->hdrlen = pattrib->to_fr_ds == 3 ? 30 : 24; validate_recv_data_frame()
1225 if (pattrib->order)/* HT-CTRL 11n */ validate_recv_data_frame()
1226 pattrib->hdrlen += 4; validate_recv_data_frame()
1228 precv_frame->preorder_ctrl = &psta->recvreorder_ctrl[pattrib->priority]; validate_recv_data_frame()
1237 if (pattrib->privacy) { validate_recv_data_frame()
1238 RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("validate_recv_data_frame:pattrib->privacy=%x\n", pattrib->privacy)); validate_recv_data_frame()
1239 RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("\n ^^^^^^^^^^^IS_MCAST(pattrib->ra(0x%02x))=%d^^^^^^^^^^^^^^^6\n", pattrib->ra[0], IS_MCAST(pattrib->ra))); validate_recv_data_frame()
1241 GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, IS_MCAST(pattrib->ra)); validate_recv_data_frame()
1243 RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("\n pattrib->encrypt=%d\n", pattrib->encrypt)); validate_recv_data_frame()
1245 SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len, pattrib->encrypt); validate_recv_data_frame()
1247 pattrib->encrypt = 0; validate_recv_data_frame()
1248 pattrib->iv_len = 0; validate_recv_data_frame()
1249 pattrib->icv_len = 0; validate_recv_data_frame()
1269 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; validate_recv_frame() local
1291 pattrib->to_fr_ds = get_tofr_ds(ptr); validate_recv_frame()
1293 pattrib->frag_num = GetFragNum(ptr); validate_recv_frame()
1294 pattrib->seq_num = GetSequence(ptr); validate_recv_frame()
1296 pattrib->pw_save = GetPwrMgt(ptr); validate_recv_frame()
1297 pattrib->mfrag = GetMFrag(ptr); validate_recv_frame()
1298 pattrib->mdata = GetMData(ptr); validate_recv_frame()
1299 pattrib->privacy = GetPrivacy(ptr); validate_recv_frame()
1300 pattrib->order = GetOrder(ptr); validate_recv_frame()
1348 pattrib->qos = (subtype & BIT(7)) ? 1 : 0; validate_recv_frame()
1381 struct rx_pkt_attrib *pattrib = &precvframe->attrib; wlanhdr_to_ethhdr() local
1383 if (pattrib->encrypt) wlanhdr_to_ethhdr()
1384 recvframe_pull_tail(precvframe, pattrib->icv_len); wlanhdr_to_ethhdr()
1386 psnap = (struct ieee80211_snap_hdr *)(ptr+pattrib->hdrlen + pattrib->iv_len); wlanhdr_to_ethhdr()
1387 psnap_type = ptr+pattrib->hdrlen + pattrib->iv_len+SNAP_SIZE; wlanhdr_to_ethhdr()
1400 rmv_len = pattrib->hdrlen + pattrib->iv_len + (bsnaphdr ? SNAP_SIZE : 0); wlanhdr_to_ethhdr()
1404 ("\n===pattrib->hdrlen: %x, pattrib->iv_len:%x===\n\n", pattrib->hdrlen, pattrib->iv_len)); wlanhdr_to_ethhdr()
1407 eth_type = ntohs(be_tmp); /* pattrib->ether_type */ wlanhdr_to_ethhdr()
1408 pattrib->eth_type = eth_type; wlanhdr_to_ethhdr()
1424 memcpy(ptr, pattrib->dst, ETH_ALEN); wlanhdr_to_ethhdr()
1425 memcpy(ptr+ETH_ALEN, pattrib->src, ETH_ALEN); wlanhdr_to_ethhdr()
1623 struct rx_pkt_attrib *pattrib; amsdu_to_msdu() local
1630 pattrib = &prframe->attrib; amsdu_to_msdu()
1705 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, ETH_ALEN); amsdu_to_msdu()
1706 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, ETH_ALEN); amsdu_to_msdu()
1712 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->src, ETH_ALEN); amsdu_to_msdu()
1713 memcpy(skb_push(sub_skb, ETH_ALEN), pattrib->dst, ETH_ALEN); amsdu_to_msdu()
1767 struct rx_pkt_attrib *pattrib = &prframe->attrib; enqueue_reorder_recvframe() local
1780 if (SN_LESS(pnextattrib->seq_num, pattrib->seq_num)) enqueue_reorder_recvframe()
1782 else if (SN_EQUAL(pnextattrib->seq_num, pattrib->seq_num)) enqueue_reorder_recvframe()
1799 struct rx_pkt_attrib *pattrib; recv_indicatepkts_in_order() local
1813 pattrib = &prhdr->attrib; recv_indicatepkts_in_order()
1814 preorder_ctrl->indicate_seq = pattrib->seq_num; recv_indicatepkts_in_order()
1822 pattrib = &prframe->attrib; recv_indicatepkts_in_order()
1824 if (!SN_LESS(preorder_ctrl->indicate_seq, pattrib->seq_num)) { recv_indicatepkts_in_order()
1827 preorder_ctrl->indicate_seq, pattrib->seq_num, pattrib->amsdu)); recv_indicatepkts_in_order()
1831 if (SN_EQUAL(preorder_ctrl->indicate_seq, pattrib->seq_num)) recv_indicatepkts_in_order()
1837 if (!pattrib->amsdu) { recv_indicatepkts_in_order()
1841 } else if (pattrib->amsdu == 1) { recv_indicatepkts_in_order()
1862 struct rx_pkt_attrib *pattrib = &prframe->attrib; recv_indicatepkt_reorder() local
1866 if (!pattrib->amsdu) { recv_indicatepkt_reorder()
1870 if ((pattrib->qos != 1) || (pattrib->eth_type == 0x0806) || recv_indicatepkt_reorder()
1871 (pattrib->ack_policy != 0)) { recv_indicatepkt_reorder()
1885 preorder_ctrl->indicate_seq = pattrib->seq_num; recv_indicatepkt_reorder()
1891 } else if (pattrib->amsdu == 1) { /* temp filter -> means didn't support A-MSDUs in a A-MPDU */ recv_indicatepkt_reorder()
1893 preorder_ctrl->indicate_seq = pattrib->seq_num; recv_indicatepkt_reorder()
1905 preorder_ctrl->indicate_seq, pattrib->seq_num)); recv_indicatepkt_reorder()
1908 if (!check_indicate_seq(preorder_ctrl, pattrib->seq_num)) { recv_indicatepkt_reorder()
H A Drtw_mlme_ext.c1856 void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib) update_mgntframe_attrib() argument
1860 memset((u8 *)(pattrib), 0, sizeof(struct pkt_attrib)); update_mgntframe_attrib()
1862 pattrib->hdrlen = 24; update_mgntframe_attrib()
1863 pattrib->nr_frags = 1; update_mgntframe_attrib()
1864 pattrib->priority = 7; update_mgntframe_attrib()
1865 pattrib->mac_id = 0; update_mgntframe_attrib()
1866 pattrib->qsel = 0x12; update_mgntframe_attrib()
1868 pattrib->pktlen = 0; update_mgntframe_attrib()
1871 pattrib->raid = 6;/* b mode */ update_mgntframe_attrib()
1873 pattrib->raid = 5;/* a/g mode */ update_mgntframe_attrib()
1875 pattrib->encrypt = _NO_PRIVACY_; update_mgntframe_attrib()
1876 pattrib->bswenc = false; update_mgntframe_attrib()
1878 pattrib->qos_en = false; update_mgntframe_attrib()
1879 pattrib->ht_en = false; update_mgntframe_attrib()
1880 pattrib->bwmode = HT_CHANNEL_WIDTH_20; update_mgntframe_attrib()
1881 pattrib->ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE; update_mgntframe_attrib()
1882 pattrib->sgi = false; update_mgntframe_attrib()
1884 pattrib->seqnum = pmlmeext->mgnt_seq; update_mgntframe_attrib()
1886 pattrib->retry_ctrl = true; update_mgntframe_attrib()
1976 struct pkt_attrib *pattrib; issue_beacon() local
1998 pattrib = &pmgntframe->attrib; issue_beacon()
1999 update_mgntframe_attrib(padapter, pattrib); issue_beacon()
2000 pattrib->qsel = 0x10; issue_beacon()
2020 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_beacon()
2034 pattrib->pktlen += (cur_network->IELength+len_diff); issue_beacon()
2036 pattrib->pktlen-sizeof(struct rtw_ieee80211_hdr_3addr)-_BEACON_IE_OFFSET_, NULL, &wps_ielen); issue_beacon()
2051 pattrib->pktlen += 8; issue_beacon()
2058 pattrib->pktlen += 2; issue_beacon()
2065 pattrib->pktlen += 2; issue_beacon()
2068 pframe = rtw_set_ie(pframe, _SSID_IE_, cur_network->Ssid.SsidLength, cur_network->Ssid.Ssid, &pattrib->pktlen); issue_beacon()
2072 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_, ((rate_len > 8) ? 8 : rate_len), cur_network->SupportedRates, &pattrib->pktlen); issue_beacon()
2075 pframe = rtw_set_ie(pframe, _DSSET_IE_, 1, (unsigned char *)&(cur_network->Configuration.DSConfig), &pattrib->pktlen); issue_beacon()
2082 pframe = rtw_set_ie(pframe, _IBSS_PARA_IE_, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen); issue_beacon()
2085 pframe = rtw_set_ie(pframe, _ERPINFO_IE_, 1, &erpinfo, &pattrib->pktlen); issue_beacon()
2090 pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (rate_len - 8), (cur_network->SupportedRates + 8), &pattrib->pktlen); issue_beacon()
2100 if ((pattrib->pktlen + TXDESC_SIZE) > 512) { issue_beacon()
2105 pattrib->last_txcmdsz = pattrib->pktlen; issue_beacon()
2107 /* DBG_88E("issue bcn_sz=%d\n", pattrib->last_txcmdsz); */ issue_beacon()
2117 struct pkt_attrib *pattrib; issue_probersp() local
2140 pattrib = &pmgntframe->attrib; issue_probersp()
2141 update_mgntframe_attrib(padapter, pattrib); issue_probersp()
2161 pattrib->hdrlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_probersp()
2162 pattrib->pktlen = pattrib->hdrlen; issue_probersp()
2163 pframe += pattrib->hdrlen; issue_probersp()
2185 pattrib->pktlen += wps_offset; issue_probersp()
2191 pattrib->pktlen += wps_ielen+2; issue_probersp()
2197 pattrib->pktlen += remainder_ielen; issue_probersp()
2202 pattrib->pktlen += cur_network->IELength; issue_probersp()
2209 pattrib->pktlen += 8; issue_probersp()
2216 pattrib->pktlen += 2; issue_probersp()
2223 pattrib->pktlen += 2; issue_probersp()
2228 pframe = rtw_set_ie(pframe, _SSID_IE_, cur_network->Ssid.SsidLength, cur_network->Ssid.Ssid, &pattrib->pktlen); issue_probersp()
2232 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_, ((rate_len > 8) ? 8 : rate_len), cur_network->SupportedRates, &pattrib->pktlen); issue_probersp()
2235 pframe = rtw_set_ie(pframe, _DSSET_IE_, 1, (unsigned char *)&(cur_network->Configuration.DSConfig), &pattrib->pktlen); issue_probersp()
2243 pframe = rtw_set_ie(pframe, _IBSS_PARA_IE_, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen); issue_probersp()
2246 pframe = rtw_set_ie(pframe, _ERPINFO_IE_, 1, &erpinfo, &pattrib->pktlen); issue_probersp()
2252 pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (rate_len - 8), (cur_network->SupportedRates + 8), &pattrib->pktlen); issue_probersp()
2256 pattrib->last_txcmdsz = pattrib->pktlen; issue_probersp()
2267 struct pkt_attrib *pattrib; _issue_probereq() local
2286 pattrib = &pmgntframe->attrib; _issue_probereq()
2287 update_mgntframe_attrib(padapter, pattrib); _issue_probereq()
2317 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); _issue_probereq()
2320 pframe = rtw_set_ie(pframe, _SSID_IE_, pssid->SsidLength, pssid->Ssid, &(pattrib->pktlen)); _issue_probereq()
2322 pframe = rtw_set_ie(pframe, _SSID_IE_, 0, NULL, &(pattrib->pktlen)); _issue_probereq()
2327 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_ , 8, bssrate, &(pattrib->pktlen)); _issue_probereq()
2328 pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_ , (bssrate_len - 8), (bssrate + 8), &(pattrib->pktlen)); _issue_probereq()
2330 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_ , bssrate_len , bssrate, &(pattrib->pktlen)); _issue_probereq()
2337 pattrib->pktlen += pmlmepriv->wps_probe_req_ie_len; _issue_probereq()
2340 pattrib->last_txcmdsz = pattrib->pktlen; _issue_probereq()
2343 ("issuing probe_req, tx_len=%d\n", pattrib->last_txcmdsz)); _issue_probereq()
2404 struct pkt_attrib *pattrib; issue_auth() local
2424 pattrib = &pmgntframe->attrib; issue_auth()
2425 update_mgntframe_attrib(padapter, pattrib); issue_auth()
2440 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_auth()
2464 pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_, (unsigned char *)&le_val16, &(pattrib->pktlen)); issue_auth()
2469 pframe = rtw_set_fixed_ie(pframe, _AUTH_SEQ_NUM_, (unsigned char *)&le_val16, &(pattrib->pktlen)); issue_auth()
2474 pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_, (unsigned char *)&le_val16, &(pattrib->pktlen)); issue_auth()
2478 pframe = rtw_set_ie(pframe, _CHLGETXT_IE_, 128, psta->chg_txt, &(pattrib->pktlen)); issue_auth()
2496 pframe = rtw_set_fixed_ie(pframe, 4, (unsigned char *)&le_tmp32, &(pattrib->pktlen)); issue_auth()
2498 pattrib->iv_len = 4; issue_auth()
2502 pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_, (unsigned char *)&le_tmp16, &(pattrib->pktlen)); issue_auth()
2507 pframe = rtw_set_fixed_ie(pframe, _AUTH_SEQ_NUM_, (unsigned char *)&le_tmp16, &(pattrib->pktlen)); issue_auth()
2512 pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_, (unsigned char *)&le_tmp16, &(pattrib->pktlen)); issue_auth()
2516 pframe = rtw_set_ie(pframe, _CHLGETXT_IE_, 128, pmlmeinfo->chg_txt, &(pattrib->pktlen)); issue_auth()
2520 pattrib->hdrlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_auth()
2522 pattrib->encrypt = _WEP40_; issue_auth()
2524 pattrib->icv_len = 4; issue_auth()
2526 pattrib->pktlen += pattrib->icv_len; issue_auth()
2530 pattrib->last_txcmdsz = pattrib->pktlen; issue_auth()
2545 struct pkt_attrib *pattrib; issue_asocrsp() local
2564 pattrib = &pmgntframe->attrib; issue_asocrsp()
2565 update_mgntframe_attrib(padapter, pattrib); issue_asocrsp()
2588 pattrib->hdrlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_asocrsp()
2589 pattrib->pktlen += pattrib->hdrlen; issue_asocrsp()
2590 pframe += pattrib->hdrlen; issue_asocrsp()
2595 pframe = rtw_set_fixed_ie(pframe, _CAPABILITY_ , (unsigned char *)&val, &(pattrib->pktlen)); issue_asocrsp()
2598 pframe = rtw_set_fixed_ie(pframe , _STATUS_CODE_ , (unsigned char *)&lestatus, &(pattrib->pktlen)); issue_asocrsp()
2601 pframe = rtw_set_fixed_ie(pframe, _ASOC_ID_ , (unsigned char *)&leval, &(pattrib->pktlen)); issue_asocrsp()
2604 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_, pstat->bssratelen, pstat->bssrateset, &(pattrib->pktlen)); issue_asocrsp()
2606 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_, 8, pstat->bssrateset, &(pattrib->pktlen)); issue_asocrsp()
2607 pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_, (pstat->bssratelen-8), pstat->bssrateset+8, &(pattrib->pktlen)); issue_asocrsp()
2618 pattrib->pktlen += (ie_len+2); issue_asocrsp()
2626 pattrib->pktlen += (ie_len+2); issue_asocrsp()
2640 pattrib->pktlen += (ie_len+2); issue_asocrsp()
2650 pframe = rtw_set_ie(pframe, _VENDOR_SPECIFIC_IE_, 6 , REALTEK_96B_IE, &(pattrib->pktlen)); issue_asocrsp()
2657 pattrib->pktlen += pmlmepriv->wps_assoc_resp_ie_len; issue_asocrsp()
2660 pattrib->last_txcmdsz = pattrib->pktlen; issue_asocrsp()
2669 struct pkt_attrib *pattrib; issue_assocreq() local
2690 pattrib = &pmgntframe->attrib; issue_assocreq()
2691 update_mgntframe_attrib(padapter, pattrib); issue_assocreq()
2708 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_assocreq()
2715 pattrib->pktlen += 2; issue_assocreq()
2722 pattrib->pktlen += 2; issue_assocreq()
2725 pframe = rtw_set_ie(pframe, _SSID_IE_, pmlmeinfo->network.Ssid.SsidLength, pmlmeinfo->network.Ssid.Ssid, &(pattrib->pktlen)); issue_assocreq()
2773 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_ , 8, bssrate, &(pattrib->pktlen)); issue_assocreq()
2774 pframe = rtw_set_ie(pframe, _EXT_SUPPORTEDRATES_IE_ , (bssrate_len - 8), (bssrate + 8), &(pattrib->pktlen)); issue_assocreq()
2776 pframe = rtw_set_ie(pframe, _SUPPORTEDRATES_IE_ , bssrate_len , bssrate, &(pattrib->pktlen)); issue_assocreq()
2782 pframe = rtw_set_ie(pframe, _RSN_IE_2_, ie_len, (p + 2), &(pattrib->pktlen)); issue_assocreq()
2818 pframe = rtw_set_ie(pframe, _HT_CAPABILITY_IE_, ie_len , (u8 *)(&(pmlmeinfo->HT_caps)), &(pattrib->pktlen)); issue_assocreq()
2838 pframe = rtw_set_ie(pframe, _VENDOR_SPECIFIC_IE_, pIE->Length, pIE->data, &(pattrib->pktlen)); issue_assocreq()
2848 pframe = rtw_set_ie(pframe, _VENDOR_SPECIFIC_IE_, 6 , REALTEK_96B_IE, &(pattrib->pktlen)); issue_assocreq()
2850 pattrib->last_txcmdsz = pattrib->pktlen; issue_assocreq()
2857 rtw_buf_update(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len, (u8 *)pwlanhdr, pattrib->pktlen); issue_assocreq()
2869 struct pkt_attrib *pattrib; _issue_nulldata() local
2891 pattrib = &pmgntframe->attrib; _issue_nulldata()
2892 update_mgntframe_attrib(padapter, pattrib); _issue_nulldata()
2893 pattrib->retry_ctrl = false; _issue_nulldata()
2920 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); _issue_nulldata()
2922 pattrib->last_txcmdsz = pattrib->pktlen; _issue_nulldata()
2987 struct pkt_attrib *pattrib; _issue_qos_nulldata() local
3004 pattrib = &pmgntframe->attrib; _issue_qos_nulldata()
3005 update_mgntframe_attrib(padapter, pattrib); _issue_qos_nulldata()
3007 pattrib->hdrlen += 2; _issue_qos_nulldata()
3008 pattrib->qos_en = true; _issue_qos_nulldata()
3009 pattrib->eosp = 1; _issue_qos_nulldata()
3010 pattrib->ack_policy = 0; _issue_qos_nulldata()
3011 pattrib->mdata = 0; _issue_qos_nulldata()
3026 if (pattrib->mdata) _issue_qos_nulldata()
3029 qc = (unsigned short *)(pframe + pattrib->hdrlen - 2); _issue_qos_nulldata()
3033 SetEOSP(qc, pattrib->eosp); _issue_qos_nulldata()
3035 SetAckpolicy(qc, pattrib->ack_policy); _issue_qos_nulldata()
3046 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr_qos); _issue_qos_nulldata()
3048 pattrib->last_txcmdsz = pattrib->pktlen; _issue_qos_nulldata()
3110 struct pkt_attrib *pattrib; _issue_deauth() local
3126 pattrib = &pmgntframe->attrib; _issue_deauth()
3127 update_mgntframe_attrib(padapter, pattrib); _issue_deauth()
3128 pattrib->retry_ctrl = false; _issue_deauth()
3147 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); _issue_deauth()
3150 pframe = rtw_set_fixed_ie(pframe, _RSON_CODE_ , (unsigned char *)&le_tmp, &(pattrib->pktlen)); _issue_deauth()
3152 pattrib->last_txcmdsz = pattrib->pktlen; _issue_deauth()
3213 struct pkt_attrib *pattrib; issue_action_spct_ch_switch() local
3229 pattrib = &pmgntframe->attrib; issue_action_spct_ch_switch()
3230 update_mgntframe_attrib(padapter, pattrib); issue_action_spct_ch_switch()
3249 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_action_spct_ch_switch()
3257 pframe = rtw_set_fixed_ie(pframe, 1, &(category), &(pattrib->pktlen)); issue_action_spct_ch_switch()
3258 pframe = rtw_set_fixed_ie(pframe, 1, &(action), &(pattrib->pktlen)); issue_action_spct_ch_switch()
3261 pframe = rtw_set_ie_ch_switch(pframe, &(pattrib->pktlen), 0, new_ch, 0); issue_action_spct_ch_switch()
3262 pframe = rtw_set_ie_secondary_ch_offset(pframe, &(pattrib->pktlen), issue_action_spct_ch_switch()
3265 pattrib->last_txcmdsz = pattrib->pktlen; issue_action_spct_ch_switch()
3281 struct pkt_attrib *pattrib; issue_action_BA() local
3300 pattrib = &pmgntframe->attrib; issue_action_BA()
3301 update_mgntframe_attrib(padapter, pattrib); issue_action_BA()
3321 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_action_BA()
3323 pframe = rtw_set_fixed_ie(pframe, 1, &(category), &(pattrib->pktlen)); issue_action_BA()
3324 pframe = rtw_set_fixed_ie(pframe, 1, &(action), &(pattrib->pktlen)); issue_action_BA()
3332 pframe = rtw_set_fixed_ie(pframe, 1, &(pmlmeinfo->dialogToken), &(pattrib->pktlen)); issue_action_BA()
3336 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); issue_action_BA()
3340 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); issue_action_BA()
3353 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); issue_action_BA()
3356 pframe = rtw_set_fixed_ie(pframe, 1, &(pmlmeinfo->ADDBA_req.dialog_token), &(pattrib->pktlen)); issue_action_BA()
3357 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&status), &(pattrib->pktlen)); issue_action_BA()
3385 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); issue_action_BA()
3386 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(pmlmeinfo->ADDBA_req.BA_timeout_value)), &(pattrib->pktlen)); issue_action_BA()
3391 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); issue_action_BA()
3395 pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); issue_action_BA()
3402 pattrib->last_txcmdsz = pattrib->pktlen; issue_action_BA()
3412 struct pkt_attrib *pattrib; issue_action_BSSCoexistPacket() local
3444 pattrib = &pmgntframe->attrib; issue_action_BSSCoexistPacket()
3445 update_mgntframe_attrib(padapter, pattrib); issue_action_BSSCoexistPacket()
3464 pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr); issue_action_BSSCoexistPacket()
3466 pframe = rtw_set_fixed_ie(pframe, 1, &(category), &(pattrib->pktlen)); issue_action_BSSCoexistPacket()
3467 pframe = rtw_set_fixed_ie(pframe, 1, &(action), &(pattrib->pktlen)); issue_action_BSSCoexistPacket()
3476 pframe = rtw_set_ie(pframe, EID_BSSCoexistence, 1, &iedata, &(pattrib->pktlen)); issue_action_BSSCoexistPacket()
3532 pframe = rtw_set_ie(pframe, EID_BSSIntolerantChlReport, k, InfoContent, &(pattrib->pktlen)); issue_action_BSSCoexistPacket()
3538 pattrib->last_txcmdsz = pattrib->pktlen; issue_action_BSSCoexistPacket()
H A Drtw_security.c153 struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; rtw_wep_encrypt() local
167 if ((pattrib->encrypt == _WEP40_) || (pattrib->encrypt == _WEP104_)) { rtw_wep_encrypt()
170 for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { rtw_wep_encrypt()
171 iv = pframe+pattrib->hdrlen; rtw_wep_encrypt()
174 payload = pframe+pattrib->iv_len+pattrib->hdrlen; rtw_wep_encrypt()
176 if ((curfragnum+1) == pattrib->nr_frags) { /* the last fragment */ rtw_wep_encrypt()
177 length = pattrib->last_txcmdsz-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; rtw_wep_encrypt()
185 length = pxmitpriv->frag_len-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; rtw_wep_encrypt()
576 struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; rtw_tkip_encrypt() local
588 if (pattrib->encrypt == _TKIP_) { rtw_tkip_encrypt()
589 if (pattrib->psta) rtw_tkip_encrypt()
590 stainfo = pattrib->psta; rtw_tkip_encrypt()
592 stainfo = rtw_get_stainfo(&padapter->stapriv, &pattrib->ra[0]); rtw_tkip_encrypt()
597 if (IS_MCAST(pattrib->ra)) rtw_tkip_encrypt()
602 for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { rtw_tkip_encrypt()
603 iv = pframe+pattrib->hdrlen; rtw_tkip_encrypt()
604 payload = pframe+pattrib->iv_len+pattrib->hdrlen; rtw_tkip_encrypt()
610 phase1((u16 *)&ttkey[0], prwskey, &pattrib->ta[0], pnh); rtw_tkip_encrypt()
613 if ((curfragnum+1) == pattrib->nr_frags) { /* 4 the last fragment */ rtw_tkip_encrypt()
614 length = pattrib->last_txcmdsz-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; rtw_tkip_encrypt()
616 ("pattrib->iv_len=%x, pattrib->icv_len=%x\n", rtw_tkip_encrypt()
617 pattrib->iv_len, pattrib->icv_len)); rtw_tkip_encrypt()
624 length = pxmitpriv->frag_len-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; rtw_tkip_encrypt()
1206 struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; rtw_aes_encrypt() local
1222 if (pattrib->encrypt == _AES_) { rtw_aes_encrypt()
1223 if (pattrib->psta) rtw_aes_encrypt()
1224 stainfo = pattrib->psta; rtw_aes_encrypt()
1226 stainfo = rtw_get_stainfo(&padapter->stapriv, &pattrib->ra[0]); rtw_aes_encrypt()
1231 if (IS_MCAST(pattrib->ra)) rtw_aes_encrypt()
1235 for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { rtw_aes_encrypt()
1236 if ((curfragnum+1) == pattrib->nr_frags) { /* 4 the last fragment */ rtw_aes_encrypt()
1237 length = pattrib->last_txcmdsz-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; rtw_aes_encrypt()
1239 aes_cipher(prwskey, pattrib->hdrlen, pframe, length); rtw_aes_encrypt()
1241 length = pxmitpriv->frag_len-pattrib->hdrlen-pattrib->iv_len-pattrib->icv_len; rtw_aes_encrypt()
1243 aes_cipher(prwskey, pattrib->hdrlen, pframe, length); rtw_aes_encrypt()
H A Drtw_mlme.c2098 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_issue_addbareq_cmd() local
2099 s32 bmcst = IS_MCAST(pattrib->ra); rtw_issue_addbareq_cmd()
2104 priority = pattrib->priority; rtw_issue_addbareq_cmd()
2106 if (pattrib->psta) rtw_issue_addbareq_cmd()
2107 psta = pattrib->psta; rtw_issue_addbareq_cmd()
2109 psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra); rtw_issue_addbareq_cmd()
2123 rtw_addbareq_cmd(padapter, (u8)priority, pattrib->ra); rtw_issue_addbareq_cmd()
/linux-4.1.27/drivers/staging/rtl8723au/hal/
H A Drtl8723au_xmit.c59 static void fill_txdesc_sectype(struct pkt_attrib *pattrib, struct tx_desc *ptxdesc) fill_txdesc_sectype() argument
61 if ((pattrib->encrypt > 0) && !pattrib->bswenc) { fill_txdesc_sectype()
62 switch (pattrib->encrypt) { fill_txdesc_sectype()
82 static void fill_txdesc_vcs(struct pkt_attrib *pattrib, __le32 *pdw) fill_txdesc_vcs() argument
84 /* DBG_8723A("cvs_mode =%d\n", pattrib->vcs_mode); */ fill_txdesc_vcs()
86 switch (pattrib->vcs_mode) { fill_txdesc_vcs()
98 if (pattrib->vcs_mode) { fill_txdesc_vcs()
102 if (pattrib->ht_en) { fill_txdesc_vcs()
103 *pdw |= (pattrib->bwmode&HT_CHANNEL_WIDTH_40) ? cpu_to_le32(BIT(27)) : 0; fill_txdesc_vcs()
105 if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_LOWER) fill_txdesc_vcs()
107 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_UPPER) fill_txdesc_vcs()
109 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_DONT_CARE) fill_txdesc_vcs()
117 static void fill_txdesc_phy(struct pkt_attrib *pattrib, __le32 *pdw) fill_txdesc_phy() argument
119 if (pattrib->ht_en) { fill_txdesc_phy()
120 *pdw |= (pattrib->bwmode&HT_CHANNEL_WIDTH_40) ? cpu_to_le32(BIT(25)) : 0; fill_txdesc_phy()
122 if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_LOWER) fill_txdesc_phy()
124 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_UPPER) fill_txdesc_phy()
126 else if (pattrib->ch_offset == HAL_PRIME_CHNL_OFFSET_DONT_CARE) fill_txdesc_phy()
138 struct pkt_attrib *pattrib = &pxmitframe->attrib; update_txdesc() local
144 int bmcst = is_multicast_ether_addr(pattrib->ra); update_txdesc()
156 ptxdesc->txdw1 |= cpu_to_le32(pattrib->mac_id&0x1f); update_txdesc()
158 qsel = (uint)(pattrib->qsel & 0x0000001f); update_txdesc()
161 ptxdesc->txdw1 |= cpu_to_le32((pattrib->raid<<16) & 0x000f0000); update_txdesc()
163 fill_txdesc_sectype(pattrib, ptxdesc); update_txdesc()
165 if (pattrib->ampdu_en) update_txdesc()
173 ptxdesc->txdw3 |= cpu_to_le32((pattrib->seqnum<<16)&0xffff0000); update_txdesc()
176 if (pattrib->qos_en) update_txdesc()
179 if ((pattrib->ether_type != 0x888e) && update_txdesc()
180 (pattrib->ether_type != 0x0806) && update_txdesc()
181 (pattrib->dhcp_pkt != 1)) { update_txdesc()
184 fill_txdesc_vcs(pattrib, &ptxdesc->txdw4); update_txdesc()
185 fill_txdesc_phy(pattrib, &ptxdesc->txdw4); update_txdesc()
191 ptxdesc->txdw5 |= cpu_to_le32(pdmpriv->INIDATA_RATE[pattrib->mac_id]); update_txdesc()
208 ptxdesc->txdw1 |= cpu_to_le32(pattrib->mac_id&0x1f); update_txdesc()
210 qsel = (uint)(pattrib->qsel&0x0000001f); update_txdesc()
213 ptxdesc->txdw1 |= cpu_to_le32((pattrib->raid<<16) & 0x000f0000); update_txdesc()
221 ptxdesc->txdw3 |= cpu_to_le32((pattrib->seqnum<<16)&0xffff0000); update_txdesc()
245 ptxdesc->txdw3 |= cpu_to_le32((pattrib->seqnum<<16)&0xffff0000); update_txdesc()
260 if (!pattrib->qos_en) { update_txdesc()
296 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtw_dump_xframe() local
309 for (t = 0; t < pattrib->nr_frags; t++) { rtw_dump_xframe()
313 if (t != (pattrib->nr_frags - 1)) { rtw_dump_xframe()
315 "pattrib->nr_frags =%d\n", pattrib->nr_frags); rtw_dump_xframe()
318 sz = sz - 4 - pattrib->icv_len; rtw_dump_xframe()
321 sz = pattrib->last_txcmdsz; rtw_dump_xframe()
431 struct pkt_attrib *pattrib = &pxmitframe->attrib; rtl8723au_hal_xmit() local
434 pattrib->qsel = pattrib->priority; rtl8723au_hal_xmit()
444 if (pattrib->psta) rtl8723au_hal_xmit()
445 psta = pattrib->psta; rtl8723au_hal_xmit()
447 psta = rtw_get_stainfo23a(pstapriv, pattrib->ra); rtl8723au_hal_xmit()
458 if (rtw_txframes_sta_ac_pending23a(padapter, pattrib) > 0) rtl8723au_hal_xmit()
H A Drtl8723au_recv.c140 struct rx_pkt_attrib *pattrib; update_recvframe_attrib() local
153 pattrib = &precvframe->attrib; update_recvframe_attrib()
154 memset(pattrib, 0, sizeof(struct rx_pkt_attrib)); update_recvframe_attrib()
157 pattrib->pkt_len = (u16)prxreport->pktlen; update_recvframe_attrib()
158 pattrib->drvinfo_sz = (u8)(prxreport->drvinfosize << 3); update_recvframe_attrib()
159 pattrib->physt = (u8)prxreport->physt; update_recvframe_attrib()
161 pattrib->crc_err = (u8)prxreport->crc32; update_recvframe_attrib()
162 pattrib->icv_err = (u8)prxreport->icverr; update_recvframe_attrib()
164 pattrib->bdecrypted = (u8)(prxreport->swdec ? 0 : 1); update_recvframe_attrib()
165 pattrib->encrypt = (u8)prxreport->security; update_recvframe_attrib()
167 pattrib->qos = (u8)prxreport->qos; update_recvframe_attrib()
168 pattrib->priority = (u8)prxreport->tid; update_recvframe_attrib()
170 pattrib->amsdu = (u8)prxreport->amsdu; update_recvframe_attrib()
172 pattrib->seq_num = (u16)prxreport->seq; update_recvframe_attrib()
173 pattrib->frag_num = (u8)prxreport->frag; update_recvframe_attrib()
174 pattrib->mfrag = (u8)prxreport->mf; update_recvframe_attrib()
175 pattrib->mdata = (u8)prxreport->md; update_recvframe_attrib()
177 pattrib->mcs_rate = (u8)prxreport->rxmcs; update_recvframe_attrib()
178 pattrib->rxht = (u8)prxreport->rxht; update_recvframe_attrib()
185 struct rx_pkt_attrib *pattrib = &precvframe->attrib; update_recvframe_phyinfo() local
187 struct phy_info *pPHYInfo = &pattrib->phy_info; update_recvframe_phyinfo()
198 !pattrib->icv_err && !pattrib->crc_err; update_recvframe_phyinfo()
247 pkt_info.Rate = pattrib->mcs_rate; update_recvframe_phyinfo()
H A Drtl8723a_rxdesc.c24 struct rx_pkt_attrib *pattrib = &prframe->attrib; process_rssi() local
34 signal_stat->total_val += pattrib->phy_info.SignalStrength; process_rssi()
41 struct rx_pkt_attrib *pattrib; process_link_qual() local
47 pattrib = &prframe->attrib; process_link_qual()
57 signal_stat->total_val += pattrib->phy_info.SignalQuality; process_link_qual()
H A Dusb_ops_linux.c356 struct rx_pkt_attrib *pattrib; recvbuf2recvframe() local
387 pattrib = &precvframe->attrib; recvbuf2recvframe()
389 if (pattrib->crc_err) { recvbuf2recvframe()
396 pkt_offset = RXDESC_SIZE + pattrib->drvinfo_sz + recvbuf2recvframe()
397 pattrib->shift_sz + pattrib->pkt_len; recvbuf2recvframe()
399 if (pattrib->pkt_len <= 0 || pkt_offset > transfer_len) { recvbuf2recvframe()
411 if (pattrib->qos) recvbuf2recvframe()
416 skb_len = pattrib->pkt_len; recvbuf2recvframe()
422 if (pattrib->mfrag == 1 && pattrib->frag_num == 0) { recvbuf2recvframe()
445 memcpy(pkt_copy->data, pbuf + pattrib->shift_sz + recvbuf2recvframe()
446 pattrib->drvinfo_sz + RXDESC_SIZE, skb_len); recvbuf2recvframe()
449 if (pattrib->mfrag == 1 && pattrib->frag_num == 0) { recvbuf2recvframe()
465 if (pattrib->physt) { recvbuf2recvframe()
H A Drtl8723a_cmd.c434 struct pkt_attrib *pattrib; SetFwRsvdPagePkt() local
549 pattrib = &pmgntframe->attrib; SetFwRsvdPagePkt()
550 update_mgntframe_attrib23a(padapter, pattrib); SetFwRsvdPagePkt()
551 pattrib->qsel = 0x10; SetFwRsvdPagePkt()
552 pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET; SetFwRsvdPagePkt()
641 struct pkt_attrib *pattrib; SetFwRsvdPagePkt_BTCoex() local
711 pattrib = &pmgntframe->attrib; SetFwRsvdPagePkt_BTCoex()
712 update_mgntframe_attrib23a(padapter, pattrib); SetFwRsvdPagePkt_BTCoex()
713 pattrib->qsel = 0x10; SetFwRsvdPagePkt_BTCoex()
714 pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TXDESC_OFFSET; SetFwRsvdPagePkt_BTCoex()
/linux-4.1.27/drivers/staging/rtl8188eu/os_dep/
H A Dusb_ops_linux.c54 struct rx_pkt_attrib *pattrib = NULL; recvbuf2recvframe() local
84 pattrib = &precvframe->attrib; recvbuf2recvframe()
86 if ((pattrib->crc_err) || (pattrib->icv_err)) { recvbuf2recvframe()
87 DBG_88E("%s: RX Warning! crc_err=%d icv_err=%d, skip!\n", __func__, pattrib->crc_err, pattrib->icv_err); recvbuf2recvframe()
93 if ((pattrib->physt) && (pattrib->pkt_rpt_type == NORMAL_RX)) recvbuf2recvframe()
96 pkt_offset = RXDESC_SIZE + pattrib->drvinfo_sz + pattrib->shift_sz + pattrib->pkt_len; recvbuf2recvframe()
98 if ((pattrib->pkt_len <= 0) || (pkt_offset > transfer_len)) { recvbuf2recvframe()
107 if (pattrib->qos) /* Qos data, wireless lan header length is 26 */ recvbuf2recvframe()
112 skb_len = pattrib->pkt_len; recvbuf2recvframe()
116 if ((pattrib->mfrag == 1) && (pattrib->frag_num == 0)) { recvbuf2recvframe()
136 memcpy(pkt_copy->data, (pbuf + pattrib->drvinfo_sz + RXDESC_SIZE), skb_len); recvbuf2recvframe()
140 if ((pattrib->mfrag == 1) && (pattrib->frag_num == 0)) { recvbuf2recvframe()
147 precvframe->rx_tail = pbuf + pattrib->drvinfo_sz + RXDESC_SIZE; recvbuf2recvframe()
150 precvframe->rx_end = pbuf + pattrib->drvinfo_sz + RXDESC_SIZE + alloc_sz; recvbuf2recvframe()
172 if (pattrib->pkt_rpt_type == NORMAL_RX) { /* Normal rx packet */ recvbuf2recvframe()
173 if (pattrib->physt) recvbuf2recvframe()
181 if (pattrib->pkt_rpt_type == TX_REPORT1) { recvbuf2recvframe()
184 } else if (pattrib->pkt_rpt_type == TX_REPORT2) { recvbuf2recvframe()
188 pattrib->pkt_len, recvbuf2recvframe()
189 pattrib->MacIDValidEntry[0], recvbuf2recvframe()
190 pattrib->MacIDValidEntry[1] recvbuf2recvframe()
192 } else if (pattrib->pkt_rpt_type == HIS_REPORT) { recvbuf2recvframe()
193 interrupt_handler_8188eu(adapt, pattrib->pkt_len, precvframe->rx_data); recvbuf2recvframe()
H A Drecv_linux.c134 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; rtw_recv_indicatepkt() local
135 int bmcast = IS_MCAST(pattrib->dst); rtw_recv_indicatepkt()
137 if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), rtw_recv_indicatepkt()
143 psta = rtw_get_stainfo(pstapriv, pattrib->dst); rtw_recv_indicatepkt()
/linux-4.1.27/drivers/staging/rtl8723au/os_dep/
H A Drecv_linux.c102 struct rx_pkt_attrib *pattrib = &precv_frame->attrib; rtw_recv_indicatepkt23a() local
103 int bmcast = is_multicast_ether_addr(pattrib->dst); rtw_recv_indicatepkt23a()
107 if (!ether_addr_equal(pattrib->dst, rtw_recv_indicatepkt23a()
109 /* DBG_8723A("not ap psta =%p, addr =%pM\n", psta, pattrib->dst); */ rtw_recv_indicatepkt23a()
114 psta = rtw_get_stainfo23a(pstapriv, pattrib->dst); rtw_recv_indicatepkt23a()
H A Dioctl_cfg80211.c2509 struct pkt_attrib *pattrib; rtw_cfg80211_monitor_if_xmit_entry() local
2533 pattrib = &pmgntframe->attrib; rtw_cfg80211_monitor_if_xmit_entry()
2534 update_mgntframe_attrib23a(padapter, pattrib); rtw_cfg80211_monitor_if_xmit_entry()
2535 pattrib->retry_ctrl = false; rtw_cfg80211_monitor_if_xmit_entry()
2542 pattrib->pktlen = len; rtw_cfg80211_monitor_if_xmit_entry()
2546 pattrib->seqnum = pmlmeext->mgnt_seq; rtw_cfg80211_monitor_if_xmit_entry()
2549 pattrib->last_txcmdsz = pattrib->pktlen; rtw_cfg80211_monitor_if_xmit_entry()
2956 struct pkt_attrib *pattrib; _cfg80211_rtw_mgmt_tx() local
2989 pattrib = &pmgntframe->attrib; _cfg80211_rtw_mgmt_tx()
2990 update_mgntframe_attrib23a(padapter, pattrib); _cfg80211_rtw_mgmt_tx()
2991 pattrib->retry_ctrl = false; _cfg80211_rtw_mgmt_tx()
2998 pattrib->pktlen = len; _cfg80211_rtw_mgmt_tx()
3003 pattrib->seqnum = pmlmeext->mgnt_seq; _cfg80211_rtw_mgmt_tx()
3006 pattrib->last_txcmdsz = pattrib->pktlen; _cfg80211_rtw_mgmt_tx()
/linux-4.1.27/drivers/staging/rtl8188eu/include/
H A Drtw_xmit.h331 struct pkt_attrib *pattrib);
348 u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib);
356 struct pkt_attrib *pattrib);
H A Drtw_mlme_ext.h560 struct pkt_attrib *pattrib);
/linux-4.1.27/drivers/staging/rtl8723au/include/
H A Drtw_xmit.h362 struct pkt_attrib *pattrib);
H A Drtw_mlme_ext.h550 struct pkt_attrib *pattrib);

Completed in 637 milliseconds