|
@@ -2206,6 +2206,7 @@ err_core_port_init:
|
|
|
unregister_netdev(dev);
|
|
|
err_register_netdev:
|
|
|
mlxsw_sp->ports[local_port] = NULL;
|
|
|
+ mlxsw_sp_port_switchdev_fini(mlxsw_sp_port);
|
|
|
mlxsw_sp_port_pvid_vport_destroy(mlxsw_sp_port);
|
|
|
err_port_pvid_vport_create:
|
|
|
mlxsw_sp_port_dcb_fini(mlxsw_sp_port);
|
|
@@ -2215,6 +2216,7 @@ err_port_buffers_init:
|
|
|
err_port_admin_status_set:
|
|
|
err_port_mtu_set:
|
|
|
err_port_speed_by_width_set:
|
|
|
+ mlxsw_sp_port_swid_set(mlxsw_sp_port, MLXSW_PORT_SWID_DISABLED_PORT);
|
|
|
err_port_swid_set:
|
|
|
err_port_system_port_mapping_set:
|
|
|
err_dev_addr_init:
|
|
@@ -2237,9 +2239,9 @@ static void mlxsw_sp_port_remove(struct mlxsw_sp *mlxsw_sp, u8 local_port)
|
|
|
mlxsw_core_port_fini(&mlxsw_sp_port->core_port);
|
|
|
unregister_netdev(mlxsw_sp_port->dev); /* This calls ndo_stop */
|
|
|
mlxsw_sp->ports[local_port] = NULL;
|
|
|
+ mlxsw_sp_port_switchdev_fini(mlxsw_sp_port);
|
|
|
mlxsw_sp_port_pvid_vport_destroy(mlxsw_sp_port);
|
|
|
mlxsw_sp_port_dcb_fini(mlxsw_sp_port);
|
|
|
- mlxsw_sp_port_switchdev_fini(mlxsw_sp_port);
|
|
|
mlxsw_sp_port_swid_set(mlxsw_sp_port, MLXSW_PORT_SWID_DISABLED_PORT);
|
|
|
mlxsw_sp_port_module_unmap(mlxsw_sp, mlxsw_sp_port->local_port);
|
|
|
free_percpu(mlxsw_sp_port->pcpu_stats);
|