qcacmn: Save Rx TLV offset info so as to recover in FISA
Packets delivered to FISA via exception err path doesnot have TLVs. FISA handling requires additional TLVs. dp rx core handling skips TLVs, save TLV length info in nbuf->cb so that TLVs are recovered back in FISA. Change-Id: I53fab2e19abcbf82697ea6f53a4ddf3ea0dd0699 CRs-Fixed: 2620844
This commit is contained in:

committed by
nshrivas

parent
ff26d1c783
commit
c4667b8b12
@@ -1746,26 +1746,18 @@ uint32_t dp_rx_srng_get_num_pending(hal_soc_handle_t hal_soc,
|
||||
}
|
||||
|
||||
#ifdef WLAN_SUPPORT_RX_FISA
|
||||
/*
|
||||
* dp_rx_skip_tlvs() - Skip TLVs only if FISA is not enabled
|
||||
* @vdev: DP vdev context
|
||||
* @nbuf: nbuf whose data pointer is adjusted
|
||||
* @size: size to be adjusted
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void dp_rx_skip_tlvs(struct dp_vdev *vdev, qdf_nbuf_t nbuf, int size)
|
||||
void dp_rx_skip_tlvs(qdf_nbuf_t nbuf, uint32_t l3_padding)
|
||||
{
|
||||
/* TLVs include FISA info do not skip them yet */
|
||||
if (!vdev->osif_fisa_rx)
|
||||
qdf_nbuf_pull_head(nbuf, size);
|
||||
QDF_NBUF_CB_RX_PACKET_L3_HDR_PAD(nbuf) = l3_padding;
|
||||
qdf_nbuf_pull_head(nbuf, l3_padding + RX_PKT_TLVS_LEN);
|
||||
}
|
||||
#else /* !WLAN_SUPPORT_RX_FISA */
|
||||
static void dp_rx_skip_tlvs(struct dp_vdev *vdev, qdf_nbuf_t nbuf, int size)
|
||||
#else
|
||||
void dp_rx_skip_tlvs(qdf_nbuf_t nbuf, uint32_t l3_padding)
|
||||
{
|
||||
qdf_nbuf_pull_head(nbuf, size);
|
||||
qdf_nbuf_pull_head(nbuf, l3_padding + RX_PKT_TLVS_LEN);
|
||||
}
|
||||
#endif /* !WLAN_SUPPORT_RX_FISA */
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* dp_rx_process() - Brain of the Rx processing functionality
|
||||
@@ -2213,8 +2205,7 @@ done:
|
||||
RX_PKT_TLVS_LEN;
|
||||
|
||||
qdf_nbuf_set_pktlen(nbuf, pkt_len);
|
||||
dp_rx_skip_tlvs(vdev, nbuf, RX_PKT_TLVS_LEN +
|
||||
msdu_metadata.l3_hdr_pad);
|
||||
dp_rx_skip_tlvs(nbuf, msdu_metadata.l3_hdr_pad);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user