]> git.itanic.dy.fi Git - linux-stable/commitdiff
net/mlx4_en: Fixed crash when port type is changed
authorAmir Vadai <amirv@mellanox.com>
Thu, 7 Nov 2013 09:08:30 +0000 (11:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Dec 2013 15:29:11 +0000 (07:29 -0800)
[ Upstream commit 1ec4864b10171b0691ee196d7006ae56d2c153f2 ]

timecounter_init() was was called only after first potential
timecounter_read().
Moved mlx4_en_init_timestamp() before mlx4_en_init_netdev()

Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx4/en_main.c

index a071cda2dd04ad880ce3862d7c4011839524dd13..0d087b03a7b09db29f170c712e8f36c71c8f9db6 100644 (file)
@@ -264,6 +264,10 @@ static void *mlx4_en_add(struct mlx4_dev *dev)
        mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_ETH)
                mdev->port_cnt++;
 
+       /* Initialize time stamp mechanism */
+       if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_TS)
+               mlx4_en_init_timestamp(mdev);
+
        mlx4_foreach_port(i, dev, MLX4_PORT_TYPE_ETH) {
                if (!dev->caps.comp_pool) {
                        mdev->profile.prof[i].rx_ring_num =
@@ -301,10 +305,6 @@ static void *mlx4_en_add(struct mlx4_dev *dev)
                        mdev->pndev[i] = NULL;
        }
 
-       /* Initialize time stamp mechanism */
-       if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_TS)
-               mlx4_en_init_timestamp(mdev);
-
        return mdev;
 
 err_mr: