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

Commit 2b136d02 authored by Eli Cohen's avatar Eli Cohen Committed by Roland Dreier
Browse files

IB/mlx5: Fix list_del of empty list



For archs with pages size of 4K, when the chunk is freed, fwp is not in the
list so avoid attempting to delete it.

Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 7e2e1921
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -229,6 +229,7 @@ static void free_4k(struct mlx5_core_dev *dev, u64 addr)
	set_bit(n, &fwp->bitmask);
	set_bit(n, &fwp->bitmask);
	if (fwp->free_count == MLX5_NUM_4K_IN_PAGE) {
	if (fwp->free_count == MLX5_NUM_4K_IN_PAGE) {
		rb_erase(&fwp->rb_node, &dev->priv.page_root);
		rb_erase(&fwp->rb_node, &dev->priv.page_root);
		if (fwp->free_count != 1)
			list_del(&fwp->list);
			list_del(&fwp->list);
		dma_unmap_page(&dev->pdev->dev, addr, PAGE_SIZE, DMA_BIDIRECTIONAL);
		dma_unmap_page(&dev->pdev->dev, addr, PAGE_SIZE, DMA_BIDIRECTIONAL);
		__free_page(fwp->page);
		__free_page(fwp->page);