From: Maxim Mikityanskiy <maxi...@mellanox.com>

Struct assignment guarantees that all fields of the structure are
initialized (those that are not mentioned are zeroed). It makes code
mode robust and reduces chances for unpredictable behavior when one
forgets to reset some field and it holds an old value from previous
iterations of using the structure.

Signed-off-by: Maxim Mikityanskiy <maxi...@mellanox.com>
Reviewed-by: Tariq Toukan <tar...@mellanox.com>
Signed-off-by: Saeed Mahameed <sae...@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
index e15aa53ff83e..c064657dde13 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
@@ -241,10 +241,12 @@ mlx5e_txwqe_complete(struct mlx5e_txqsq *sq, struct 
sk_buff *skb,
        struct mlx5_wq_cyc *wq = &sq->wq;
        bool send_doorbell;
 
-       wi->num_bytes = num_bytes;
-       wi->num_dma = num_dma;
-       wi->num_wqebbs = num_wqebbs;
-       wi->skb = skb;
+       *wi = (struct mlx5e_tx_wqe_info) {
+               .skb = skb,
+               .num_bytes = num_bytes,
+               .num_dma = num_dma,
+               .num_wqebbs = num_wqebbs,
+       };
 
        cseg->opmod_idx_opcode = cpu_to_be32((sq->pc << 8) | opcode);
        cseg->qpn_ds           = cpu_to_be32((sq->sqn << 8) | ds_cnt);
-- 
2.26.2

Reply via email to