diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 663cccb1ac3d..5a89b74d69e5 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -4647,7 +4647,7 @@ static inline int ol_txrx_drop_nbuf_list(qdf_nbuf_t buf_list) buf = buf_list; while (buf) { - QDF_NBUF_CB_RX_LRO_INELIGIBLE(buf) = 1; + QDF_NBUF_CB_RX_PEER_CACHED_FRM(buf) = 1; next_buf = qdf_nbuf_queue_next(buf); if (pdev) TXRX_STATS_MSDU_INCR(pdev, diff --git a/core/hdd/src/wlan_hdd_lro.c b/core/hdd/src/wlan_hdd_lro.c index c043b2b04393..7d242c58ad57 100644 --- a/core/hdd/src/wlan_hdd_lro.c +++ b/core/hdd/src/wlan_hdd_lro.c @@ -142,7 +142,8 @@ enum hdd_lro_rx_status hdd_lro_rx(hdd_context_t *hdd_ctx, enum hdd_lro_rx_status status = HDD_LRO_NO_RX; if ((adapter->dev->features & NETIF_F_LRO) && - QDF_NBUF_CB_RX_TCP_PROTO(skb)) { + QDF_NBUF_CB_RX_TCP_PROTO(skb) && + !QDF_NBUF_CB_RX_PEER_CACHED_FRM(skb)) { struct qdf_lro_info info; struct net_lro_desc *lro_desc = NULL; struct hif_opaque_softc *hif_hdl = diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index a559f6dd47a4..42830a70ce2f 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -1258,7 +1258,8 @@ QDF_STATUS hdd_rx_packet_cbk(void *context, qdf_nbuf_t rxBuf) if (HDD_LRO_NO_RX == hdd_lro_rx(pHddCtx, pAdapter, skb)) { if (hdd_napi_enabled(HDD_NAPI_ANY) && - !pHddCtx->enableRxThread) + !pHddCtx->enableRxThread && + !QDF_NBUF_CB_RX_PEER_CACHED_FRM(skb)) rxstat = netif_receive_skb(skb); else rxstat = netif_rx_ni(skb);