diff options
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 74667e521431..05e87a59f1c6 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -4035,8 +4035,9 @@ static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, | |||
4035 | PCI_DMA_FROMDEVICE); | 4035 | PCI_DMA_FROMDEVICE); |
4036 | 4036 | ||
4037 | length = le16_to_cpu(rx_desc->length); | 4037 | length = le16_to_cpu(rx_desc->length); |
4038 | 4038 | /* !EOP means multiple descriptors were used to store a single | |
4039 | if (unlikely(!(status & E1000_RXD_STAT_EOP))) { | 4039 | * packet, also make sure the frame isn't just CRC only */ |
4040 | if (unlikely(!(status & E1000_RXD_STAT_EOP) || (length <= 4))) { | ||
4040 | /* All receives must fit into a single buffer */ | 4041 | /* All receives must fit into a single buffer */ |
4041 | E1000_DBG("%s: Receive packet consumed multiple" | 4042 | E1000_DBG("%s: Receive packet consumed multiple" |
4042 | " buffers\n", netdev->name); | 4043 | " buffers\n", netdev->name); |