When mlx5_is_fpga_lookaside() returns a non-zero value, no error 
return code is assigned.
To fix this bug, err is assigned with -EINVAL as error return code.

Reported-by: TOTE Robot <os...@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1...@gmail.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c 
b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
index 2ce4241459ce..c9e6da97126f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
@@ -198,8 +198,10 @@ int mlx5_fpga_device_start(struct mlx5_core_dev *mdev)
        mlx5_fpga_info(fdev, "FPGA card %s:%u\n", mlx5_fpga_name(fpga_id), 
fpga_id);
 
        /* No QPs if FPGA does not participate in net processing */
-       if (mlx5_is_fpga_lookaside(fpga_id))
+       if (mlx5_is_fpga_lookaside(fpga_id)) {
+               err = -EINVAL;
                goto out;
+       }
 
        mlx5_fpga_info(fdev, "%s(%d): image, version %u; SBU %06x:%04x version 
%d\n",
                       mlx5_fpga_image_name(fdev->last_oper_image),
-- 
2.17.1

Reply via email to