Commit 5918bd88 authored by Auke Kok's avatar Auke Kok Committed by Jeff Garzik

e1000e: Fix CRC stripping in hardware context bug

CRC stripping was only correctly enabled for packet split recieves
which is used when receiving jumbo frames. Correctly enable SECRC
also for normal buffer packet receives.

Tested by Andy Gospodarek and Johan Andersson, see bugzilla #9940.
Signed-off-by: default avatarAuke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent fdb26629
...@@ -1690,6 +1690,9 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter) ...@@ -1690,6 +1690,9 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter)
else else
rctl |= E1000_RCTL_LPE; rctl |= E1000_RCTL_LPE;
/* Enable hardware CRC frame stripping */
rctl |= E1000_RCTL_SECRC;
/* Setup buffer sizes */ /* Setup buffer sizes */
rctl &= ~E1000_RCTL_SZ_4096; rctl &= ~E1000_RCTL_SZ_4096;
rctl |= E1000_RCTL_BSEX; rctl |= E1000_RCTL_BSEX;
...@@ -1756,9 +1759,6 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter) ...@@ -1756,9 +1759,6 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter)
/* Enable Packet split descriptors */ /* Enable Packet split descriptors */
rctl |= E1000_RCTL_DTYP_PS; rctl |= E1000_RCTL_DTYP_PS;
/* Enable hardware CRC frame stripping */
rctl |= E1000_RCTL_SECRC;
psrctl |= adapter->rx_ps_bsize0 >> psrctl |= adapter->rx_ps_bsize0 >>
E1000_PSRCTL_BSIZE0_SHIFT; E1000_PSRCTL_BSIZE0_SHIFT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment