qcacmn: Fix the ppdu id and buffer reading issue

Read the ppdu id from MPDU start TLV instead of
ATTENTION TLV. The MPDU could extend to multiple
SKB buffer. The ATTENTION TLV will be in the TLV
of last SKB buffer. MPDU start will be in the
first SKB buffer in MPDU. Read ppdu id from MPDU
start TLV guarentee the correct reading
The msdu count in MPDU from REO entrance ring is for
msdu count for decap frame or MPDU count for not decap
frame. msdu length in msdu desc info is for msdu
length for decap frame or MPDU length for not decap
frame. The MPDU could extend to multiple SKB.
The continous bit in msdu desc info indicate if
the MPDU/MSDU extend to next SKB. code is modified
accordingly.

Change-Id: If9aeb278f84a57d64651e1f877b5185f6db63cd2
This commit is contained in:
Kai Chen
2017-07-15 18:49:02 -07:00
committed by snandini
父節點 cdc307f70b
當前提交 634d53f81b
共有 4 個文件被更改,包括 69 次插入37 次删除

查看文件

@@ -963,7 +963,6 @@ dp_rx_err_mpdu_pop(struct dp_soc *soc, uint32_t mac_id,
uint32_t rx_bufs_used = 0;
uint32_t msdu_cnt;
uint32_t i;
bool mpdu_err;
uint8_t push_reason;
uint8_t rxdma_error_code = 0;
@@ -972,7 +971,7 @@ dp_rx_err_mpdu_pop(struct dp_soc *soc, uint32_t mac_id,
last = NULL;
hal_rx_reo_ent_buf_paddr_get(rxdma_dst_ring_desc, &buf_info,
&p_last_buf_addr_info, &msdu_cnt, &mpdu_err);
&p_last_buf_addr_info, &msdu_cnt);
push_reason =
hal_rx_reo_ent_rxdma_push_reason_get(rxdma_dst_ring_desc);