]> rtime.felk.cvut.cz Git - linux-imx.git/blobdiff - drivers/net/ethernet/mellanox/mlx4/en_rx.c
mlx4: allow device removal by fixing dma unmap size
[linux-imx.git] / drivers / net / ethernet / mellanox / mlx4 / en_rx.c
index 971d4b6b8dfee21aed00724fd3af8a36fc8f6608..d1c631e8293a929f2c0b7a00c0b1b30695b2167f 100644 (file)
@@ -380,12 +380,12 @@ err_allocator:
 }
 
 void mlx4_en_destroy_rx_ring(struct mlx4_en_priv *priv,
-                            struct mlx4_en_rx_ring *ring)
+                            struct mlx4_en_rx_ring *ring, u32 size, u16 stride)
 {
        struct mlx4_en_dev *mdev = priv->mdev;
 
        mlx4_en_unmap_buffer(&ring->wqres.buf);
-       mlx4_free_hwq_res(mdev->dev, &ring->wqres, ring->buf_size + TXBB_SIZE);
+       mlx4_free_hwq_res(mdev->dev, &ring->wqres, size * stride + TXBB_SIZE);
        vfree(ring->rx_info);
        ring->rx_info = NULL;
 }