Users of mlx5_eswitch_get_vport() are required to check return value
prior to passing mlx5_vport further. Fix all the places to do not skip
that check.
Reviewed-by: Eli Cohen <elic@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
        struct mlx5_vport *vport;
 
        vport = mlx5_eswitch_get_vport(esw, vport_num);
-       return vport->dl_port;
+       return IS_ERR(vport) ? ERR_CAST(vport) : vport->dl_port;
 }
 
 int mlx5_esw_devlink_sf_port_register(struct mlx5_eswitch *esw, struct devlink_port *dl_port,
 
        struct mlx5_vport *vport;
 
        vport = mlx5_eswitch_get_vport(esw, vport_num);
+       if (IS_ERR(vport))
+               return PTR_ERR(vport);
 
        if (!vport->qos.enabled)
                return -EOPNOTSUPP;
        int ret;
 
        vport = mlx5_eswitch_get_vport(esw, vport_num);
+       if (IS_ERR(vport))
+               return PTR_ERR(vport);
 
        mutex_lock(&esw->state_lock);
        WARN_ON(vport->enabled);
        struct mlx5_vport *vport;
 
        vport = mlx5_eswitch_get_vport(esw, vport_num);
+       if (IS_ERR(vport))
+               return;
 
        mutex_lock(&esw->state_lock);
        if (!vport->enabled)
 
        struct mlx5_vport *vport;
 
        vport = mlx5_eswitch_get_vport(esw, MLX5_VPORT_UPLINK);
+       if (IS_ERR(vport))
+               return PTR_ERR(vport);
+
        return esw_vport_create_offloads_acl_tables(esw, vport);
 }
 
        struct mlx5_vport *vport;
 
        vport = mlx5_eswitch_get_vport(esw, MLX5_VPORT_UPLINK);
+       if (IS_ERR(vport))
+               return;
+
        esw_vport_destroy_offloads_acl_tables(esw, vport);
 }