Loading dp/wifi3.0/dp_rx.h +17 −0 Original line number Original line Diff line number Diff line Loading @@ -1158,6 +1158,23 @@ dp_rx_update_protocol_tag(struct dp_soc *soc, struct dp_vdev *vdev, bool is_reo_exception, bool is_update_stats) bool is_reo_exception, bool is_update_stats) { { } } /** * dp_rx_err_cce_drop() - Reads CCE metadata from the RX MSDU end TLV * and returns whether cce metadata matches * @soc: core txrx main context * @vdev: vdev on which the packet is received * @nbuf: QDF pkt buffer on which the protocol tag should be set * @rx_tlv_hdr: rBbase address where the RX TLVs starts * Return: bool */ static inline bool dp_rx_err_cce_drop(struct dp_soc *soc, struct dp_vdev *vdev, qdf_nbuf_t nbuf, uint8_t *rx_tlv_hdr) { return false; } #endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */ #endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */ #ifndef WLAN_SUPPORT_RX_FLOW_TAG #ifndef WLAN_SUPPORT_RX_FLOW_TAG Loading dp/wifi3.0/dp_rx_err.c +17 −0 Original line number Original line Diff line number Diff line Loading @@ -1283,6 +1283,23 @@ dp_rx_null_q_desc_handle(struct dp_soc *soc, qdf_nbuf_t nbuf, /* IEEE80211_SEQ_MAX indicates invalid start_seq */ /* IEEE80211_SEQ_MAX indicates invalid start_seq */ } } /* * Drop packets in this path if cce_match is found. Packets will come * in following path depending on whether tidQ is setup. * 1. If tidQ is setup: WIFILI_HAL_RX_WBM_REO_PSH_RSN_ROUTE and * cce_match = 1 * Packets with WIFILI_HAL_RX_WBM_REO_PSH_RSN_ROUTE are already * dropped. * 2. If tidQ is not setup: WIFILI_HAL_RX_WBM_REO_PSH_RSN_ERROR and * cce_match = 1 * These packets need to be dropped and should not get delivered * to stack. */ if (qdf_unlikely(dp_rx_err_cce_drop(soc, vdev, nbuf, rx_tlv_hdr))) { qdf_nbuf_free(nbuf); return QDF_STATUS_E_FAILURE; } if (qdf_unlikely(vdev->rx_decap_type == htt_cmn_pkt_type_raw)) { if (qdf_unlikely(vdev->rx_decap_type == htt_cmn_pkt_type_raw)) { qdf_nbuf_set_next(nbuf, NULL); qdf_nbuf_set_next(nbuf, NULL); dp_rx_deliver_raw(vdev, nbuf, peer); dp_rx_deliver_raw(vdev, nbuf, peer); Loading Loading
dp/wifi3.0/dp_rx.h +17 −0 Original line number Original line Diff line number Diff line Loading @@ -1158,6 +1158,23 @@ dp_rx_update_protocol_tag(struct dp_soc *soc, struct dp_vdev *vdev, bool is_reo_exception, bool is_update_stats) bool is_reo_exception, bool is_update_stats) { { } } /** * dp_rx_err_cce_drop() - Reads CCE metadata from the RX MSDU end TLV * and returns whether cce metadata matches * @soc: core txrx main context * @vdev: vdev on which the packet is received * @nbuf: QDF pkt buffer on which the protocol tag should be set * @rx_tlv_hdr: rBbase address where the RX TLVs starts * Return: bool */ static inline bool dp_rx_err_cce_drop(struct dp_soc *soc, struct dp_vdev *vdev, qdf_nbuf_t nbuf, uint8_t *rx_tlv_hdr) { return false; } #endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */ #endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */ #ifndef WLAN_SUPPORT_RX_FLOW_TAG #ifndef WLAN_SUPPORT_RX_FLOW_TAG Loading
dp/wifi3.0/dp_rx_err.c +17 −0 Original line number Original line Diff line number Diff line Loading @@ -1283,6 +1283,23 @@ dp_rx_null_q_desc_handle(struct dp_soc *soc, qdf_nbuf_t nbuf, /* IEEE80211_SEQ_MAX indicates invalid start_seq */ /* IEEE80211_SEQ_MAX indicates invalid start_seq */ } } /* * Drop packets in this path if cce_match is found. Packets will come * in following path depending on whether tidQ is setup. * 1. If tidQ is setup: WIFILI_HAL_RX_WBM_REO_PSH_RSN_ROUTE and * cce_match = 1 * Packets with WIFILI_HAL_RX_WBM_REO_PSH_RSN_ROUTE are already * dropped. * 2. If tidQ is not setup: WIFILI_HAL_RX_WBM_REO_PSH_RSN_ERROR and * cce_match = 1 * These packets need to be dropped and should not get delivered * to stack. */ if (qdf_unlikely(dp_rx_err_cce_drop(soc, vdev, nbuf, rx_tlv_hdr))) { qdf_nbuf_free(nbuf); return QDF_STATUS_E_FAILURE; } if (qdf_unlikely(vdev->rx_decap_type == htt_cmn_pkt_type_raw)) { if (qdf_unlikely(vdev->rx_decap_type == htt_cmn_pkt_type_raw)) { qdf_nbuf_set_next(nbuf, NULL); qdf_nbuf_set_next(nbuf, NULL); dp_rx_deliver_raw(vdev, nbuf, peer); dp_rx_deliver_raw(vdev, nbuf, peer); Loading