diff options
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 926ad8c2f2c7..a9e091cb5499 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -1201,9 +1201,10 @@ static bool ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector, | |||
1201 | hdr_info = le16_to_cpu(ixgbe_get_hdr_info(rx_desc)); | 1201 | hdr_info = le16_to_cpu(ixgbe_get_hdr_info(rx_desc)); |
1202 | len = (hdr_info & IXGBE_RXDADV_HDRBUFLEN_MASK) >> | 1202 | len = (hdr_info & IXGBE_RXDADV_HDRBUFLEN_MASK) >> |
1203 | IXGBE_RXDADV_HDRBUFLEN_SHIFT; | 1203 | IXGBE_RXDADV_HDRBUFLEN_SHIFT; |
1204 | if (len > IXGBE_RX_HDR_SIZE) | ||
1205 | len = IXGBE_RX_HDR_SIZE; | ||
1206 | upper_len = le16_to_cpu(rx_desc->wb.upper.length); | 1204 | upper_len = le16_to_cpu(rx_desc->wb.upper.length); |
1205 | if ((len > IXGBE_RX_HDR_SIZE) || | ||
1206 | (upper_len && !(hdr_info & IXGBE_RXDADV_SPH))) | ||
1207 | len = IXGBE_RX_HDR_SIZE; | ||
1207 | } else { | 1208 | } else { |
1208 | len = le16_to_cpu(rx_desc->wb.upper.length); | 1209 | len = le16_to_cpu(rx_desc->wb.upper.length); |
1209 | } | 1210 | } |