mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
net: systemport: tell RXCHK if we are using Broadcom tags
When Broadcom tags are enabled, e.g: when interfaced to an Ethernet
switch, make sure that we tell the RXCHK engine that it should be
expecting a 4-bytes Broadcom tag after the Ethernet MAC Source Address.
Use netdev_uses_dsa() to check for that condition since that will tell
us if a switch is attached to our network interface.
Fixes: 80105befdb
("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
afb84b6261
commit
d09d3038a3
@ -139,6 +139,15 @@ static int bcm_sysport_set_rx_csum(struct net_device *dev,
|
||||
else
|
||||
reg &= ~RXCHK_SKIP_FCS;
|
||||
|
||||
/* If Broadcom tags are enabled (e.g: using a switch), make
|
||||
* sure we tell the RXCHK hardware to expect a 4-bytes Broadcom
|
||||
* tag after the Ethernet MAC Source Address.
|
||||
*/
|
||||
if (netdev_uses_dsa(dev))
|
||||
reg |= RXCHK_BRCM_TAG_EN;
|
||||
else
|
||||
reg &= ~RXCHK_BRCM_TAG_EN;
|
||||
|
||||
rxchk_writel(priv, reg, RXCHK_CONTROL);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user