The hardware can only offload checksum calculation on first port due to
the Tx FIFO size limitation. Document this in a comment.

Fixes: 576193f2d579 ("net: mvpp2: jumbo frames support")
Signed-off-by: Matteo Croce <[email protected]>
---
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 
b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index d8e5241097a9..2f7286bd203b 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -843,7 +843,10 @@ static int mvpp2_bm_update_mtu(struct net_device *dev, int 
mtu)
                /* Add port to new short & long pool */
                mvpp2_swf_bm_pool_init(port);
 
-               /* Update L4 checksum when jumbo enable/disable on port */
+               /* Update L4 checksum when jumbo enable/disable on port.
+                * Only port 0 supports hardware checksum offload due to
+                * the Tx FIFO size limitation.
+                */
                if (new_long_pool == MVPP2_BM_JUMBO && port->id != 0) {
                        dev->features &= ~(NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM);
                        dev->hw_features &= ~(NETIF_F_IP_CSUM |
-- 
2.21.0

Reply via email to