Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a4f92a6 authored by Yevgeny Petrilin's avatar Yevgeny Petrilin Committed by David S. Miller
Browse files

mlx4_en: Fix error handling while activating RX rings



In case of failure of either srq creation or page allocation,
the cleanup code handled the failed ring as well, and tried
to destroy resources that where not allocated.

Signed-off-by: default avatarYevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 775d8d93
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -437,6 +437,7 @@ int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv)
		err = mlx4_en_init_allocator(priv, ring);
		if (err) {
			mlx4_err(mdev, "Failed initializing ring allocator\n");
			ring_ind--;
			goto err_allocator;
		}

@@ -467,6 +468,7 @@ int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv)
				     ring->wqres.db.dma, &ring->srq);
		if (err){
			mlx4_err(mdev, "Failed to allocate srq\n");
			ring_ind--;
			goto err_srq;
		}
		ring->srq.event = mlx4_en_srq_event;