mirror of
https://github.com/torvalds/linux.git
synced 2026-09-13 06:17:27 +02:00
net: amd-xgbe: discard rx packets with bad FCS
amd-xgbe driver currently sets the MAC_RCR.DCRCC bit whenever
RX is enabled. This disables hardware FCS validation, causing packets
with bad FCS to be accepted unconditionally.
This change unsets DCRCC so that packets with bad FCS will be dropped,
in-line with typical behaviours of many other network controllers.
Tests:
- Verified that packets with bad FCS are now dropped.
- Verified that receiving packets with bad FCS will increment the
`rx_crc_errors` counter.
Fixes: c5aa9e3b81 ("amd-xgbe: Initial AMD 10GbE platform driver")
Signed-off-by: James Nugraha <aslan.jnn@gmail.com>
Link: https://patch.msgid.link/20260827232220.69907-1-aslan.jnn@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
ac08d183da
commit
ac8d6b28d4
|
|
@ -3400,7 +3400,7 @@ static void xgbe_enable_rx(struct xgbe_prv_data *pdata)
|
|||
XGMAC_IOWRITE(pdata, MAC_RQC0R, reg_val);
|
||||
|
||||
/* Enable MAC Rx */
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, DCRCC, 1);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, DCRCC, 0);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, CST, 1);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, ACS, 1);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, RE, 1);
|
||||
|
|
@ -3411,7 +3411,6 @@ static void xgbe_disable_rx(struct xgbe_prv_data *pdata)
|
|||
unsigned int i;
|
||||
|
||||
/* Disable MAC Rx */
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, DCRCC, 0);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, CST, 0);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, ACS, 0);
|
||||
XGMAC_IOWRITE_BITS(pdata, MAC_RCR, RE, 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user