Message ID | 1474372531-27120-1-git-send-email-tariqt@mellanox.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Tariq Toukan <tariqt@mellanox.com> Date: Tue, 20 Sep 2016 14:55:31 +0300 > From: Kamal Heib <kamalh@mellanox.com> > > This patch cleans devlink resources by calling devlink_port_unregister() > to avoid the following issues: > > - Kernel panic when triggering reset flow. > - Memory leak due to unfreed resources in mlx4_init_port_info(). > > Fixes: 09d4d087cd48 ("mlx4: Implement devlink interface") > Signed-off-by: Kamal Heib <kamalh@mellanox.com> > Signed-off-by: Tariq Toukan <tariqt@mellanox.com> > --- > Please push it to -stable >= 4.6 as well. Thanks. Applied and queued up for -stable, thanks.
diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index 75dd2e3d3059..7183ac4135d2 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c @@ -2970,6 +2970,7 @@ static int mlx4_init_port_info(struct mlx4_dev *dev, int port) mlx4_err(dev, "Failed to create mtu file for port %d\n", port); device_remove_file(&info->dev->persist->pdev->dev, &info->port_attr); + devlink_port_unregister(&info->devlink_port); info->port = -1; } @@ -2984,6 +2985,8 @@ static void mlx4_cleanup_port_info(struct mlx4_port_info *info) device_remove_file(&info->dev->persist->pdev->dev, &info->port_attr); device_remove_file(&info->dev->persist->pdev->dev, &info->port_mtu_attr); + devlink_port_unregister(&info->devlink_port); + #ifdef CONFIG_RFS_ACCEL free_irq_cpu_rmap(info->rmap); info->rmap = NULL;