The __esw_qos_alloc_node() function returns NULL on error. It doesn't return error pointers. Update the error checking to match. Fixes: 96619c485fa6 ("net/mlx5: Add support for setting tc-bw on nodes") Signed-off-by: Dan Carpenter --- drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c index e1cef8dd3b4d..91d863c8c152 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c @@ -1405,9 +1405,10 @@ esw_qos_move_node(struct mlx5_esw_sched_node *curr_node) new_node = __esw_qos_alloc_node(curr_node->esw, curr_node->ix, curr_node->type, NULL); - if (!IS_ERR(new_node)) - esw_qos_nodes_set_parent(&curr_node->children, new_node); + if (!new_node) + return ERR_PTR(-ENOMEM); + esw_qos_nodes_set_parent(&curr_node->children, new_node); return new_node; } -- 2.47.2