mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 25 Jan 2020 21:18:47 +0000 (22:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jan 2020 10:13:53 +0000 (11:13 +0100)
An 'alloc_etherdev()' called is not ballanced by a corresponding
'free_netdev()' call in one error handling path.

Slighly reorder the error handling code to catch the missed case.

Fixes: c100e47caa8e ("mlxsw: minimal: Add ethtool support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/minimal.c

index 2b543911ae001dac34815dd0d466038a1c8dd97f..c4caeeadcba977a28b4ba81899f2df8f29885113 100644 (file)
@@ -213,8 +213,8 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module)
 
 err_register_netdev:
        mlxsw_m->ports[local_port] = NULL;
-       free_netdev(dev);
 err_dev_addr_get:
+       free_netdev(dev);
 err_alloc_etherdev:
        mlxsw_core_port_fini(mlxsw_m->core, local_port);
        return err;