diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-06-09 10:50:57 +0200 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-06-09 10:50:57 +0200 |
commit | d2dd01de9924ae24afeba5aa5bc2e08287701df6 (patch) | |
tree | 3021bf496579a48984666355b59df5e44b42dd32 /drivers/net/e1000/e1000_main.c | |
parent | 367d04c4ec02dad34d80452e32e3370db7fb6fee (diff) | |
parent | 62a6f465f6572e1f28765c583c12753bb3e23715 (diff) | |
download | kernel_samsung_smdk4412-d2dd01de9924ae24afeba5aa5bc2e08287701df6.tar.gz kernel_samsung_smdk4412-d2dd01de9924ae24afeba5aa5bc2e08287701df6.tar.bz2 kernel_samsung_smdk4412-d2dd01de9924ae24afeba5aa5bc2e08287701df6.zip |
Merge commit 'tip/core/iommu' into amd-iommu/fixes
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-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 b1419e21b46..fffb006b7d9 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -4027,8 +4027,9 @@ static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, PCI_DMA_FROMDEVICE); length = le16_to_cpu(rx_desc->length); - - if (unlikely(!(status & E1000_RXD_STAT_EOP))) { + /* !EOP means multiple descriptors were used to store a single + * packet, also make sure the frame isn't just CRC only */ + if (unlikely(!(status & E1000_RXD_STAT_EOP) || (length <= 4))) { /* All receives must fit into a single buffer */ E1000_DBG("%s: Receive packet consumed multiple" " buffers\n", netdev->name); |