58b1c384dfab1d814a9f6567612a014d415517d2

If host receive REO error code 0 - NULL REO queue descriptor from REO exception ring, it will be raw data and likely spread across multiple msdu buffers for amsdu packets. in this case, only the last msdu will contain the valid rx msdu length, but currently host use msdu length from head skb (msdu length is 0), then the sub-skbs followed after head skb will be leaked as following, (1) dp_rx_sg_create() fail to add sub-skbs into frag_list of head_skb, then sub-skbs still exist in head_skb->next. (2) As peer_id is not valid, dp_rx_null_q_desc_handle()-> dp_rx_chain_msdus_be() will configure head_skb->next = NULL during DP_RX_LIST_APPEND, then all sub-skbs get leaked. Get msdu length from last skb and overwrite it in head_skb, then dp_rx_sg_create() will process all skbs correctly. Change-Id: I1953afb4e3b44450ff5e8269ef0f4f0c38e1d446 CRs-Fixed: 3476534
This is CNSS WLAN Host Driver for products starting from iHelium
Leírás
Languages
C
98.7%
C++
0.9%
Makefile
0.3%
Starlark
0.1%