cxgb4: Fix work request size calculation for loopback test
authorGanji Aravind <ganji.aravind@chelsio.com>
Tue, 18 Aug 2020 15:40:57 +0000 (21:10 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Aug 2020 20:02:51 +0000 (13:02 -0700)
Work request used for sending loopback packet needs to add
the firmware work request only once. So, fix by using
correct structure size.

Fixes: 7235ffae3d2c ("cxgb4: add loopback ethtool self-test")
Signed-off-by: Ganji Aravind <ganji.aravind@chelsio.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/sge.c

index d2b587d..7c9fe4b 100644 (file)
@@ -2553,8 +2553,8 @@ int cxgb4_selftest_lb_pkt(struct net_device *netdev)
 
        pkt_len = ETH_HLEN + sizeof(CXGB4_SELFTEST_LB_STR);
 
-       flits = DIV_ROUND_UP(pkt_len + sizeof(struct cpl_tx_pkt) +
-                            sizeof(*wr), sizeof(__be64));
+       flits = DIV_ROUND_UP(pkt_len + sizeof(*cpl) + sizeof(*wr),
+                            sizeof(__be64));
        ndesc = flits_to_desc(flits);
 
        lb = &pi->ethtool_lb;