net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources
authorMiaoqian Lin <linmq006@gmail.com>
Wed, 22 Dec 2021 06:54:53 +0000 (06:54 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jan 2022 11:40:30 +0000 (12:40 +0100)
[ Upstream commit 6b8b42585886c59a008015083282aae434349094 ]

The mlx5_get_uars_page() function  returns error pointers.
Using IS_ERR() to check the return value to fix this.

Fixes: 4ec9e7b02697 ("net/mlx5: DR, Expose steering domain functionality")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c

index 00d861361428f30532a225157e375c831658f6fb..16a7c7ec5e138b27367a943f4d125179154ac3d6 100644 (file)
@@ -2,6 +2,7 @@
 /* Copyright (c) 2019 Mellanox Technologies. */
 
 #include <linux/mlx5/eswitch.h>
+#include <linux/err.h>
 #include "dr_types.h"
 
 #define DR_DOMAIN_SW_STEERING_SUPPORTED(dmn, dmn_type) \
@@ -69,9 +70,9 @@ static int dr_domain_init_resources(struct mlx5dr_domain *dmn)
        }
 
        dmn->uar = mlx5_get_uars_page(dmn->mdev);
-       if (!dmn->uar) {
+       if (IS_ERR(dmn->uar)) {
                mlx5dr_err(dmn, "Couldn't allocate UAR\n");
-               ret = -ENOMEM;
+               ret = PTR_ERR(dmn->uar);
                goto clean_pd;
        }