Loading dp/wifi3.0/dp_htt.c +5 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ #define HTT_SHIFT_UPPER_TIMESTAMP 32 #define HTT_MASK_UPPER_TIMESTAMP 0xFFFFFFFF00000000 #define HTT_HTC_PKT_STATUS_SUCCESS \ ((pkt->htc_pkt.Status != QDF_STATUS_E_CANCELED) && \ (pkt->htc_pkt.Status != QDF_STATUS_E_RESOURCES)) /* * dp_htt_get_ppdu_sniffer_ampdu_tlv_bitmap() - Get ppdu stats tlv * bitmap for sniffer mode Loading Loading @@ -575,7 +579,7 @@ static inline QDF_STATUS DP_HTT_SEND_HTC_PKT(struct htt_soc *soc, htt_command_record(soc->htt_logger_handle, cmd, buf); status = htc_send_pkt(soc->htc_soc, &pkt->htc_pkt); if (status == QDF_STATUS_SUCCESS) if (status == QDF_STATUS_SUCCESS && HTT_HTC_PKT_STATUS_SUCCESS) htt_htc_misc_pkt_list_add(soc, pkt); return status; Loading dp/wifi3.0/dp_rx.c +17 −0 Original line number Diff line number Diff line Loading @@ -2519,6 +2519,23 @@ uint32_t dp_rx_process(struct dp_intr *int_ctx, hal_ring_handle_t hal_ring_hdl, continue; } /* * Drop non-EAPOL frames from unauthorized peer. */ if (qdf_likely(peer) && qdf_unlikely(!peer->authorize)) { bool is_eapol = qdf_nbuf_is_ipv4_eapol_pkt(nbuf) || qdf_nbuf_is_ipv4_wapi_pkt(nbuf); if (!is_eapol) { DP_STATS_INC(soc, rx.err.peer_unauth_rx_pkt_drop, 1); qdf_nbuf_free(nbuf); nbuf = next; continue; } } if (soc->process_rx_status) dp_rx_cksum_offload(vdev->pdev, nbuf, rx_tlv_hdr); Loading dp/wifi3.0/dp_stats.c +2 −0 Original line number Diff line number Diff line Loading @@ -6042,6 +6042,8 @@ dp_print_soc_rx_stats(struct dp_soc *soc) soc->stats.rx.err.defrag_peer_uninit); DP_PRINT_STATS("Pkts delivered no peer = %d", soc->stats.rx.err.pkt_delivered_no_peer); DP_PRINT_STATS("Pkts drop due to no peer auth :%d", soc->stats.rx.err.peer_unauth_rx_pkt_drop); DP_PRINT_STATS("Invalid Pdev = %d", soc->stats.rx.err.invalid_pdev); DP_PRINT_STATS("Invalid Peer = %d", Loading dp/wifi3.0/dp_types.h +2 −0 Original line number Diff line number Diff line Loading @@ -869,6 +869,8 @@ struct dp_soc_stats { uint32_t dup_refill_link_desc; /* EAPOL drop count in intrabss scenario */ uint32_t intrabss_eapol_drop; /* Non Eapol pkt drop cnt due to peer not authorized */ uint32_t peer_unauth_rx_pkt_drop; } err; /* packet count per core - per ring */ Loading hal/wifi3.0/hal_rx_flow.c +6 −6 Original line number Diff line number Diff line Loading @@ -548,7 +548,7 @@ hal_rx_fst_attach(qdf_device_t qdf_dev, fst->hash_mask = max_entries - 1; QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "HAL FST allocation %x %d * %d\n", fst, "HAL FST allocation %pK %d * %d\n", fst, fst->max_entries, HAL_RX_FST_ENTRY_SIZE); fst->base_vaddr = (uint8_t *)qdf_mem_alloc_consistent(qdf_dev, Loading @@ -557,7 +557,7 @@ hal_rx_fst_attach(qdf_device_t qdf_dev, &fst->base_paddr); QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO, "hal_rx_fst base address 0x%x", fst->base_paddr); "hal_rx_fst base address 0x%pK", (void *)fst->base_paddr); if (!fst->base_vaddr) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, FL("hal fst->base_vaddr allocation failed")); Loading Loading @@ -690,8 +690,8 @@ hal_rx_insert_flow_entry(struct hal_rx_fst *fst, uint32_t flow_hash, void *flow_tuple_info, uint32_t *flow_idx) { int i; void *hal_fse; uint32_t hal_hash; void *hal_fse = NULL; uint32_t hal_hash = 0; struct hal_flow_tuple_info hal_tuple_info = { 0 }; QDF_STATUS status; Loading Loading @@ -739,8 +739,8 @@ hal_rx_find_flow_from_tuple(struct hal_rx_fst *fst, uint32_t flow_hash, void *flow_tuple_info, uint32_t *flow_idx) { int i; void *hal_fse; uint32_t hal_hash; void *hal_fse = NULL; uint32_t hal_hash = 0; struct hal_flow_tuple_info hal_tuple_info = { 0 }; QDF_STATUS status; Loading Loading
dp/wifi3.0/dp_htt.c +5 −1 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ #define HTT_SHIFT_UPPER_TIMESTAMP 32 #define HTT_MASK_UPPER_TIMESTAMP 0xFFFFFFFF00000000 #define HTT_HTC_PKT_STATUS_SUCCESS \ ((pkt->htc_pkt.Status != QDF_STATUS_E_CANCELED) && \ (pkt->htc_pkt.Status != QDF_STATUS_E_RESOURCES)) /* * dp_htt_get_ppdu_sniffer_ampdu_tlv_bitmap() - Get ppdu stats tlv * bitmap for sniffer mode Loading Loading @@ -575,7 +579,7 @@ static inline QDF_STATUS DP_HTT_SEND_HTC_PKT(struct htt_soc *soc, htt_command_record(soc->htt_logger_handle, cmd, buf); status = htc_send_pkt(soc->htc_soc, &pkt->htc_pkt); if (status == QDF_STATUS_SUCCESS) if (status == QDF_STATUS_SUCCESS && HTT_HTC_PKT_STATUS_SUCCESS) htt_htc_misc_pkt_list_add(soc, pkt); return status; Loading
dp/wifi3.0/dp_rx.c +17 −0 Original line number Diff line number Diff line Loading @@ -2519,6 +2519,23 @@ uint32_t dp_rx_process(struct dp_intr *int_ctx, hal_ring_handle_t hal_ring_hdl, continue; } /* * Drop non-EAPOL frames from unauthorized peer. */ if (qdf_likely(peer) && qdf_unlikely(!peer->authorize)) { bool is_eapol = qdf_nbuf_is_ipv4_eapol_pkt(nbuf) || qdf_nbuf_is_ipv4_wapi_pkt(nbuf); if (!is_eapol) { DP_STATS_INC(soc, rx.err.peer_unauth_rx_pkt_drop, 1); qdf_nbuf_free(nbuf); nbuf = next; continue; } } if (soc->process_rx_status) dp_rx_cksum_offload(vdev->pdev, nbuf, rx_tlv_hdr); Loading
dp/wifi3.0/dp_stats.c +2 −0 Original line number Diff line number Diff line Loading @@ -6042,6 +6042,8 @@ dp_print_soc_rx_stats(struct dp_soc *soc) soc->stats.rx.err.defrag_peer_uninit); DP_PRINT_STATS("Pkts delivered no peer = %d", soc->stats.rx.err.pkt_delivered_no_peer); DP_PRINT_STATS("Pkts drop due to no peer auth :%d", soc->stats.rx.err.peer_unauth_rx_pkt_drop); DP_PRINT_STATS("Invalid Pdev = %d", soc->stats.rx.err.invalid_pdev); DP_PRINT_STATS("Invalid Peer = %d", Loading
dp/wifi3.0/dp_types.h +2 −0 Original line number Diff line number Diff line Loading @@ -869,6 +869,8 @@ struct dp_soc_stats { uint32_t dup_refill_link_desc; /* EAPOL drop count in intrabss scenario */ uint32_t intrabss_eapol_drop; /* Non Eapol pkt drop cnt due to peer not authorized */ uint32_t peer_unauth_rx_pkt_drop; } err; /* packet count per core - per ring */ Loading
hal/wifi3.0/hal_rx_flow.c +6 −6 Original line number Diff line number Diff line Loading @@ -548,7 +548,7 @@ hal_rx_fst_attach(qdf_device_t qdf_dev, fst->hash_mask = max_entries - 1; QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_DEBUG, "HAL FST allocation %x %d * %d\n", fst, "HAL FST allocation %pK %d * %d\n", fst, fst->max_entries, HAL_RX_FST_ENTRY_SIZE); fst->base_vaddr = (uint8_t *)qdf_mem_alloc_consistent(qdf_dev, Loading @@ -557,7 +557,7 @@ hal_rx_fst_attach(qdf_device_t qdf_dev, &fst->base_paddr); QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO, "hal_rx_fst base address 0x%x", fst->base_paddr); "hal_rx_fst base address 0x%pK", (void *)fst->base_paddr); if (!fst->base_vaddr) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, FL("hal fst->base_vaddr allocation failed")); Loading Loading @@ -690,8 +690,8 @@ hal_rx_insert_flow_entry(struct hal_rx_fst *fst, uint32_t flow_hash, void *flow_tuple_info, uint32_t *flow_idx) { int i; void *hal_fse; uint32_t hal_hash; void *hal_fse = NULL; uint32_t hal_hash = 0; struct hal_flow_tuple_info hal_tuple_info = { 0 }; QDF_STATUS status; Loading Loading @@ -739,8 +739,8 @@ hal_rx_find_flow_from_tuple(struct hal_rx_fst *fst, uint32_t flow_hash, void *flow_tuple_info, uint32_t *flow_idx) { int i; void *hal_fse; uint32_t hal_hash; void *hal_fse = NULL; uint32_t hal_hash = 0; struct hal_flow_tuple_info hal_tuple_info = { 0 }; QDF_STATUS status; Loading