From: Alexander Guller Date: Sun, 9 Oct 2011 05:27:11 +0000 (+0000) Subject: mlx4_en: Added missing iounmap upon releasing a device X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=7398af403f621418fa05c6936cac34aa06b5a758;p=deliverable%2Flinux.git mlx4_en: Added missing iounmap upon releasing a device Fixed a memory leak caused by missing iounmap when device is being released. Signed-off-by: Alexander Guller Signed-off-by: Sharon Cohen Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mellanox/mlx4/en_main.c b/drivers/net/ethernet/mellanox/mlx4/en_main.c index 6bfea233a9f2..a06096fcc0b8 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_main.c @@ -176,6 +176,7 @@ static void mlx4_en_remove(struct mlx4_dev *dev, void *endev_ptr) flush_workqueue(mdev->workqueue); destroy_workqueue(mdev->workqueue); mlx4_mr_free(dev, &mdev->mr); + iounmap(mdev->uar_map); mlx4_uar_free(dev, &mdev->priv_uar); mlx4_pd_free(dev, mdev->priv_pdn); kfree(mdev); @@ -223,7 +224,7 @@ static void *mlx4_en_add(struct mlx4_dev *dev) MLX4_PERM_LOCAL_WRITE | MLX4_PERM_LOCAL_READ, 0, 0, &mdev->mr)) { mlx4_err(mdev, "Failed allocating memory region\n"); - goto err_uar; + goto err_map; } if (mlx4_mr_enable(mdev->dev, &mdev->mr)) { mlx4_err(mdev, "Failed enabling memory region\n"); @@ -282,6 +283,9 @@ static void *mlx4_en_add(struct mlx4_dev *dev) err_mr: mlx4_mr_free(dev, &mdev->mr); +err_map: + if (!mdev->uar_map) + iounmap(mdev->uar_map); err_uar: mlx4_uar_free(dev, &mdev->priv_uar); err_pd: