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

Commit c050def0 authored by Roland Dreier's avatar Roland Dreier
Browse files

mlx4_core: Clean up mlx4_alloc_icm() a bit



Handle the allocation error case first, so that we don't have further
nested if for handling the common case of success.

Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent c0dc72ba
Loading
Loading
Loading
Loading
+20 −19
Original line number Diff line number Diff line
@@ -163,7 +163,13 @@ struct mlx4_icm *mlx4_alloc_icm(struct mlx4_dev *dev, int npages,
			ret = mlx4_alloc_icm_pages(&chunk->mem[chunk->npages],
						   cur_order, gfp_mask);

		if (!ret) {
		if (ret) {
			if (--cur_order < 0)
				goto fail;
			else
				continue;
		}

		++chunk->npages;

		if (coherent)
@@ -181,11 +187,6 @@ struct mlx4_icm *mlx4_alloc_icm(struct mlx4_dev *dev, int npages,
			chunk = NULL;

		npages -= 1 << cur_order;
		} else {
			--cur_order;
			if (cur_order < 0)
				goto fail;
		}
	}

	if (!coherent && chunk) {