From 463daeb327d0353b3b73411d85bc9da9bbf87132 Mon Sep 17 00:00:00 2001 From: Karthik Kantamneni Date: Tue, 7 Sep 2021 16:53:16 +0530 Subject: [PATCH] qcacmn: Skip updating OOR/2K jump BAR frames to H.W Currently error BAR frames are routed to host, but host doesn't have complete information to check whether these frames are valid and really action need to be taken or not. If host updates H.W without validating SSN it is causing window movement and REO HW aging timeout happening for next set of RX packets and delay is induced. To avoid RX packets delay skipping BAR update to H.W Change-Id: I92c1614993b6985218a453fe528fbd274fab254f CRs-Fixed: 2995461 --- dp/wifi3.0/dp_rx_err.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dp/wifi3.0/dp_rx_err.c b/dp/wifi3.0/dp_rx_err.c index 4d8dd637b714..fba5c29d46cb 100644 --- a/dp/wifi3.0/dp_rx_err.c +++ b/dp/wifi3.0/dp_rx_err.c @@ -779,6 +779,16 @@ dp_rx_chain_msdus(struct dp_soc *soc, qdf_nbuf_t nbuf, return mpdu_done; } +#ifdef WLAN_SKIP_BAR_UPDATE +static +void dp_rx_err_handle_bar(struct dp_soc *soc, + struct dp_peer *peer, + qdf_nbuf_t nbuf) +{ + dp_info_rl("BAR update to H.W is skipped"); + DP_STATS_INC(soc, rx.err.bar_handle_fail_count, 1); +} +#else static void dp_rx_err_handle_bar(struct dp_soc *soc, struct dp_peer *peer, @@ -828,6 +838,7 @@ void dp_rx_err_handle_bar(struct dp_soc *soc, DP_STATS_INC(soc, rx.err.ssn_update_count, 1); } } +#endif /** * dp_rx_bar_frame_handle() - Function to handle err BAR frames