diff options
-rw-r--r-- | drivers/net/e1000e/netdev.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index e87ed3133528..03fcc70e0198 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c | |||
@@ -494,10 +494,6 @@ static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, | |||
494 | goto next_desc; | 494 | goto next_desc; |
495 | } | 495 | } |
496 | 496 | ||
497 | /* adjust length to remove Ethernet CRC */ | ||
498 | length -= 4; | ||
499 | |||
500 | /* probably a little skewed due to removing CRC */ | ||
501 | total_rx_bytes += length; | 497 | total_rx_bytes += length; |
502 | total_rx_packets++; | 498 | total_rx_packets++; |
503 | 499 | ||
@@ -964,8 +960,7 @@ static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | |||
964 | kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ); | 960 | kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ); |
965 | pci_dma_sync_single_for_device(pdev, ps_page->dma, | 961 | pci_dma_sync_single_for_device(pdev, ps_page->dma, |
966 | PAGE_SIZE, PCI_DMA_FROMDEVICE); | 962 | PAGE_SIZE, PCI_DMA_FROMDEVICE); |
967 | /* remove the CRC */ | 963 | |
968 | l1 -= 4; | ||
969 | skb_put(skb, l1); | 964 | skb_put(skb, l1); |
970 | goto copydone; | 965 | goto copydone; |
971 | } /* if */ | 966 | } /* if */ |
@@ -987,10 +982,6 @@ static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | |||
987 | skb->truesize += length; | 982 | skb->truesize += length; |
988 | } | 983 | } |
989 | 984 | ||
990 | /* strip the ethernet crc, problem is we're using pages now so | ||
991 | * this whole operation can get a little cpu intensive */ | ||
992 | pskb_trim(skb, skb->len - 4); | ||
993 | |||
994 | copydone: | 985 | copydone: |
995 | total_rx_bytes += skb->len; | 986 | total_rx_bytes += skb->len; |
996 | total_rx_packets++; | 987 | total_rx_packets++; |
@@ -2034,9 +2025,11 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter) | |||
2034 | 2025 | ||
2035 | ew32(RFCTL, rfctl); | 2026 | ew32(RFCTL, rfctl); |
2036 | 2027 | ||
2037 | /* disable the stripping of CRC because it breaks | 2028 | /* Enable Packet split descriptors */ |
2038 | * BMC firmware connected over SMBUS */ | 2029 | rctl |= E1000_RCTL_DTYP_PS; |
2039 | rctl |= E1000_RCTL_DTYP_PS /* | E1000_RCTL_SECRC */; | 2030 | |
2031 | /* Enable hardware CRC frame stripping */ | ||
2032 | rctl |= E1000_RCTL_SECRC; | ||
2040 | 2033 | ||
2041 | psrctl |= adapter->rx_ps_bsize0 >> | 2034 | psrctl |= adapter->rx_ps_bsize0 >> |
2042 | E1000_PSRCTL_BSIZE0_SHIFT; | 2035 | E1000_PSRCTL_BSIZE0_SHIFT; |