qcacmn: Set the packet start offset correctly for monitor mode
The packet start offset configuration is common for both mission mode and monitor mode. Hence if the packet_header tlv is not subscribed for the regular mission mode, the packet start offset for monitor mode also gets affected, where packet_header is subscribed. This causes a loss of 128 bytes in the packets captured in monitor mode. Fix this issue, by setting the packet start offset based on the driver operation mode. Change-Id: I0a0e431278bef519534c2b1be87797d9b047525c CRs-Fixed: 3292130
This commit is contained in:

committed by
Madan Koyyalamudi

parent
61d0f0ab4e
commit
cdc30dc279
@@ -798,7 +798,16 @@ dp_rxdma_ring_sel_cfg_be(struct dp_soc *soc)
|
||||
htt_tlv_filter.rx_msdu_start_offset = 0;
|
||||
htt_tlv_filter.rx_attn_offset = 0;
|
||||
|
||||
htt_tlv_filter.rx_packet_offset = soc->rx_pkt_tlv_size;
|
||||
/*
|
||||
* For monitor mode, the packet hdr tlv is enabled later during
|
||||
* filter update
|
||||
*/
|
||||
if (soc->cdp_soc.ol_ops->get_con_mode &&
|
||||
soc->cdp_soc.ol_ops->get_con_mode() == QDF_GLOBAL_MONITOR_MODE)
|
||||
htt_tlv_filter.rx_packet_offset = soc->rx_mon_pkt_tlv_size;
|
||||
else
|
||||
htt_tlv_filter.rx_packet_offset = soc->rx_pkt_tlv_size;
|
||||
|
||||
/*Not subscribing rx_pkt_header*/
|
||||
htt_tlv_filter.rx_header_offset = 0;
|
||||
htt_tlv_filter.rx_mpdu_start_offset =
|
||||
@@ -891,7 +900,16 @@ dp_rxdma_ring_sel_cfg_be(struct dp_soc *soc)
|
||||
htt_tlv_filter.rx_msdu_start_offset = 0;
|
||||
htt_tlv_filter.rx_attn_offset = 0;
|
||||
|
||||
htt_tlv_filter.rx_packet_offset = soc->rx_pkt_tlv_size;
|
||||
/*
|
||||
* For monitor mode, the packet hdr tlv is enabled later during
|
||||
* filter update
|
||||
*/
|
||||
if (soc->cdp_soc.ol_ops->get_con_mode &&
|
||||
soc->cdp_soc.ol_ops->get_con_mode() == QDF_GLOBAL_MONITOR_MODE)
|
||||
htt_tlv_filter.rx_packet_offset = soc->rx_mon_pkt_tlv_size;
|
||||
else
|
||||
htt_tlv_filter.rx_packet_offset = soc->rx_pkt_tlv_size;
|
||||
|
||||
htt_tlv_filter.rx_header_offset =
|
||||
hal_rx_pkt_tlv_offset_get(soc->hal_soc);
|
||||
htt_tlv_filter.rx_mpdu_start_offset =
|
||||
|
Reference in New Issue
Block a user