Skip to content

Commit

Permalink
mlx4_en: Work with part of the ports.
Browse files Browse the repository at this point in the history
If the initialization of one of the ports failed,
there is no need to fail the other one as well.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Yevgeny Petrilin authored and David S. Miller committed Jun 2, 2009
1 parent 9e47eda commit 3c2fa83
Showing 1 changed file with 1 addition and 18 deletions.
19 changes: 1 addition & 18 deletions drivers/net/mlx4/en_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,28 +248,11 @@ static void *mlx4_en_add(struct mlx4_dev *dev)
/* Create a netdev for each port */
mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_ETH) {
mlx4_info(mdev, "Activating port:%d\n", i);
if (mlx4_en_init_netdev(mdev, i, &mdev->profile.prof[i])) {
if (mlx4_en_init_netdev(mdev, i, &mdev->profile.prof[i]))
mdev->pndev[i] = NULL;
goto err_free_netdev;
}
}
return mdev;


err_free_netdev:
mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_ETH) {
if (mdev->pndev[i])
mlx4_en_destroy_netdev(mdev->pndev[i]);
}

mutex_lock(&mdev->state_lock);
mdev->device_up = false;
mutex_unlock(&mdev->state_lock);
flush_workqueue(mdev->workqueue);

/* Stop event queue before we drop down to release shared SW state */
destroy_workqueue(mdev->workqueue);

err_mr:
mlx4_mr_free(dev, &mdev->mr);
err_uar:
Expand Down

0 comments on commit 3c2fa83

Please sign in to comment.