Hi Eric,

Thanks for the fix.

We do not need to clear fields that are already 0.
Why is it always true that dev->stats is already 0 at the point ndo_open is called? Is it true also in a flow of open -> stop -> open? I searched the kernel stack for this but couldn't find.
@@ -1877,7 +1877,6 @@ static void mlx4_en_clear_stats(struct net_device *dev)
        if (mlx4_en_DUMP_ETH_STATS(mdev, priv->port, 1))
                en_dbg(HW, priv, "Failed dumping statistics\n");
- memset(&priv->stats, 0, sizeof(priv->stats));
        memset(&priv->pstats, 0, sizeof(priv->pstats));
        memset(&priv->pkstats, 0, sizeof(priv->pkstats));
        memset(&priv->port_stats, 0, sizeof(priv->port_stats));
The role of this function is to clear the stats, no matter when and where it is called. I am aware that clearing the stats structure might be redundant today, as the function is called only within mlx4_en_open, but we might want to call the function in other flows in the future.

Regards,
Tariq

Reply via email to