|
@@ -242,8 +242,13 @@ static inline void htt_print_rx_desc_lro(struct htt_host_rx_desc_base *rx_desc)
|
|
|
static inline void htt_rx_extract_lro_info(qdf_nbuf_t msdu,
|
|
|
struct htt_host_rx_desc_base *rx_desc)
|
|
|
{
|
|
|
- QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu) = rx_desc->msdu_end.lro_eligible;
|
|
|
- if (rx_desc->msdu_end.lro_eligible) {
|
|
|
+ if (rx_desc->attention.tcp_udp_chksum_fail)
|
|
|
+ QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu) = 0;
|
|
|
+ else
|
|
|
+ QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu) =
|
|
|
+ rx_desc->msdu_end.lro_eligible;
|
|
|
+
|
|
|
+ if (QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu)) {
|
|
|
QDF_NBUF_CB_RX_TCP_PURE_ACK(msdu) =
|
|
|
rx_desc->msdu_start.tcp_only_ack;
|
|
|
QDF_NBUF_CB_RX_TCP_CHKSUM(msdu) =
|
|
@@ -261,7 +266,7 @@ static inline void htt_rx_extract_lro_info(qdf_nbuf_t msdu,
|
|
|
QDF_NBUF_CB_RX_TCP_OFFSET(msdu) =
|
|
|
rx_desc->msdu_start.l4_offset;
|
|
|
QDF_NBUF_CB_RX_FLOW_ID_TOEPLITZ(msdu) =
|
|
|
- rx_desc->msdu_start.flow_id_toeplitz;
|
|
|
+ rx_desc->msdu_start.flow_id_toeplitz;
|
|
|
}
|
|
|
}
|
|
|
#else
|