@@ -118,8 +118,9 @@ std::vector<Packet> FrameParser::recvbuf2recvframe(std::span<uint8_t> ptr) {
118118 ret.push_back ({pattrib, pbuf.subspan (pattrib.shift_sz +
119119 pattrib.drvinfo_sz + RXDESC_SIZE,
120120 pattrib.pkt_len )});
121- // pre_recv_entry(precvframe, pattrib.physt ? pbuf.Slice(RXDESC_OFFSET) :
122- // null);
121+
122+ ret.back ().RxAtrib .rssi [0 ] = pbuf[RXDESC_SIZE];
123+ ret.back ().RxAtrib .rssi [1 ] = pbuf[RXDESC_SIZE + 1 ];
123124 } else {
124125 /* pkt_rpt_type == TX_REPORT1-CCX, TX_REPORT2-TX RTP,HIS_REPORT-USB HISR
125126 * RTP */
@@ -149,3 +150,56 @@ std::vector<Packet> FrameParser::recvbuf2recvframe(std::span<uint8_t> ptr) {
149150
150151 return ret;
151152}
153+
154+ void rtl8812a_cal_txdesc_chksum (uint8_t *ptxdesc) {
155+ u16 *usPtr;
156+ u32 count;
157+ u32 index;
158+ u16 checksum = 0 ;
159+
160+ usPtr = (u16 *)ptxdesc;
161+
162+ /* checksum is always calculated by first 32 bytes, */
163+ /* and it doesn't depend on TX DESC length. */
164+ /* Thomas,Lucas@SD4,20130515 */
165+ count = 16 ;
166+
167+ /* Clear first */
168+ SET_TX_DESC_TX_DESC_CHECKSUM_8812 (ptxdesc, 0 );
169+
170+ for (index = 0 ; index < count; index++)
171+ checksum = checksum ^ le16_to_cpu (*(usPtr + index));
172+
173+ SET_TX_DESC_TX_DESC_CHECKSUM_8812 (ptxdesc, checksum);
174+ }
175+
176+ int rtw_action_frame_parse (const u8 *frame, u32 frame_len, u8 *category,
177+ u8 *action) {
178+ /* const u8 *frame_body = frame + sizeof(struct rtw_ieee80211_hdr_3addr);
179+ u16 fc;
180+ u8 c;
181+ u8 a = ACT_PUBLIC_MAX;
182+
183+ fc = le16_to_cpu(((struct rtw_ieee80211_hdr_3addr *)frame)->frame_ctl);
184+
185+ if ((fc & (RTW_IEEE80211_FCTL_FTYPE | RTW_IEEE80211_FCTL_STYPE))
186+ != (RTW_IEEE80211_FTYPE_MGMT | RTW_IEEE80211_STYPE_ACTION)
187+ )
188+ return _FALSE;
189+
190+ c = frame_body[0];
191+
192+ switch (c) {
193+ case RTW_WLAN_CATEGORY_P2P: // vendor-specific
194+ break;
195+ default:
196+ a = frame_body[1];
197+ }
198+
199+ if (category)
200+ *category = c;
201+ if (action)
202+ *action = a;
203+ */
204+ return _TRUE;
205+ }
0 commit comments