realtek: Fix CRC offloading for rtl83xx
authorOlliver Schinagl <oliver@schinagl.nl>
Thu, 27 Oct 2022 18:53:08 +0000 (20:53 +0200)
committerSander Vanheule <sander@svanheule.net>
Sat, 29 Oct 2022 09:18:04 +0000 (11:18 +0200)
In rtl83xx_set_features we set bit 3 to enable, and bit 4 to disable
checksuming. Looking at rtl93xx_set_features we however see that for
both enable and disable the same bit is used (bit 4). This can't be
right, especially as bit 4 for rtl83xx seems to be Collision threshold
occupying 2 bits. Change this to make this more logical.

Fixes: 9e8d62e42117 ("realtek: enable CRC offloading")
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c

index f5424bbfa3f4e6e32bd7d427dfef2a24bdf5a858..be84549b9ec9e673c67e6520376ec8ece07c25a2 100644 (file)
@@ -2247,7 +2247,7 @@ static int rtl83xx_set_features(struct net_device *dev, netdev_features_t featur
                if (!(features & NETIF_F_RXCSUM))
                        sw_w32_mask(BIT(3), 0, priv->r->mac_port_ctrl(priv->cpu_port));
                else
-                       sw_w32_mask(0, BIT(4), priv->r->mac_port_ctrl(priv->cpu_port));
+                       sw_w32_mask(0, BIT(3), priv->r->mac_port_ctrl(priv->cpu_port));
        }
 
        return 0;