forked from Minki/linux
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: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
fdb26629f3
commit
5918bd88ef
@ -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;
|
||||||
@ -1755,9 +1758,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;
|
||||||
|
Loading…
Reference in New Issue
Block a user