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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Feb 2020 09:34:39 +0000 (09:34 +0000)
[ Upstream commit 6dd4b4f3936e17fedea1308bc70e9716f68bf232 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlxsw/minimal.c

index 471b0ca6d69a2cec5b6768bf0f12834bf6ca4340..55dfba990e6e87f7ca6b9d4be8f4b7c1c34d20a3 100644 (file)
@@ -204,8 +204,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;