mlxsw: core: Change order of operations in removal path
authorIdo Schimmel <idosch@mellanox.com>
Mon, 28 Nov 2016 17:01:26 +0000 (18:01 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Nov 2016 01:48:51 +0000 (20:48 -0500)
We call bus->init() before allocating 'lag.mapping'. Change the order of
operations in removal path to reflect that.

This makes the error path of mlxsw_core_bus_device_register() symmetric
with mlxsw_core_bus_device_unregister().

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/core.c

index 7a0ad39f2d0a1314185d99b09a6bedb9c8a7b35a..4dc028bb4a33330cca34c7eaeb5496c136499fca 100644 (file)
@@ -1188,8 +1188,8 @@ void mlxsw_core_bus_device_unregister(struct mlxsw_core *mlxsw_core)
        mlxsw_thermal_fini(mlxsw_core->thermal);
        devlink_unregister(devlink);
        mlxsw_emad_fini(mlxsw_core);
-       mlxsw_core->bus->fini(mlxsw_core->bus_priv);
        kfree(mlxsw_core->lag.mapping);
+       mlxsw_core->bus->fini(mlxsw_core->bus_priv);
        free_percpu(mlxsw_core->pcpu_stats);
        devlink_free(devlink);
        mlxsw_core_driver_put(device_kind);