Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 209235
Collapse All | Expand All

(-)a/drivers/net/e1000e/netdev.c (-6 / +13 lines)
Lines 406-411 static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, Link Here
406
			goto next_desc;
406
			goto next_desc;
407
		}
407
		}
408
408
409
		/* adjust length to remove Ethernet CRC */
410
		length -= 4;
411
412
		/* probably a little skewed due to removing CRC */
409
		total_rx_bytes += length;
413
		total_rx_bytes += length;
410
		total_rx_packets++;
414
		total_rx_packets++;
411
415
Lines 699-705 static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, Link Here
699
			kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ);
703
			kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ);
700
			pci_dma_sync_single_for_device(pdev, ps_page->dma,
704
			pci_dma_sync_single_for_device(pdev, ps_page->dma,
701
				PAGE_SIZE, PCI_DMA_FROMDEVICE);
705
				PAGE_SIZE, PCI_DMA_FROMDEVICE);
702
706
			/* remove the CRC */
707
			l1 -= 4;
703
			skb_put(skb, l1);
708
			skb_put(skb, l1);
704
			goto copydone;
709
			goto copydone;
705
		} /* if */
710
		} /* if */
Lines 721-726 static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, Link Here
721
			skb->truesize += length;
726
			skb->truesize += length;
722
		}
727
		}
723
728
729
		/* strip the ethernet crc, problem is we're using pages now so
730
		 * this whole operation can get a little cpu intensive */
731
		pskb_trim(skb, skb->len - 4);
732
724
copydone:
733
copydone:
725
		total_rx_bytes += skb->len;
734
		total_rx_bytes += skb->len;
726
		total_rx_packets++;
735
		total_rx_packets++;
Lines 1753-1763 static void e1000_setup_rctl(struct e1000_adapter *adapter) Link Here
1753
1762
1754
		ew32(RFCTL, rfctl);
1763
		ew32(RFCTL, rfctl);
1755
1764
1756
		/* Enable Packet split descriptors */
1765
		/* disable the stripping of CRC because it breaks
1757
		rctl |= E1000_RCTL_DTYP_PS;
1766
		 * BMC firmware connected over SMBUS */
1758
		
1767
		rctl |= E1000_RCTL_DTYP_PS /* | E1000_RCTL_SECRC */;
1759
		/* Enable hardware CRC frame stripping */
1760
		rctl |= E1000_RCTL_SECRC;
1761
1768
1762
		psrctl |= adapter->rx_ps_bsize0 >>
1769
		psrctl |= adapter->rx_ps_bsize0 >>
1763
			E1000_PSRCTL_BSIZE0_SHIFT;
1770
			E1000_PSRCTL_BSIZE0_SHIFT;

Return to bug 209235