Commit 95ba3850 authored by Yue Haibing's avatar Yue Haibing Committed by Jason Gunthorpe
Browse files

RDMA/usnic: Fix passing zero to PTR_ERR in usnic_ib_pci_probe()

drivers/infiniband/hw/usnic/usnic_ib_main.c:590
 usnic_ib_pci_probe() warn: passing zero to 'PTR_ERR'

Make usnic_ib_device_add() return NULL on fail path, also remove
useless NULL check for usnic_ib_discover_pf()

Fixes: e3cf00d0 ("IB/usnic: Add Cisco VIC low-level hardware driver")
Link: https://patch.msgid.link/r/20250324123132.2392077-1-yuehaibing@huawei.com


Signed-off-by: default avatarYue Haibing <yuehaibing@huawei.com>
Reviewed-by: default avatarZhu Yanjun <yanjun.zhu@linux.dev>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 62dd71e6
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -397,7 +397,7 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
	if (!us_ibdev) {
		usnic_err("Device %s context alloc failed\n",
				netdev_name(pci_get_drvdata(dev)));
		return ERR_PTR(-EFAULT);
		return NULL;
	}

	us_ibdev->ufdev = usnic_fwd_dev_alloc(dev);
@@ -517,8 +517,8 @@ static struct usnic_ib_dev *usnic_ib_discover_pf(struct usnic_vnic *vnic)
	}

	us_ibdev = usnic_ib_device_add(parent_pci);
	if (IS_ERR_OR_NULL(us_ibdev)) {
		us_ibdev = us_ibdev ? us_ibdev : ERR_PTR(-EFAULT);
	if (!us_ibdev) {
		us_ibdev = ERR_PTR(-EFAULT);
		goto out;
	}

@@ -586,10 +586,10 @@ static int usnic_ib_pci_probe(struct pci_dev *pdev,
	}

	pf = usnic_ib_discover_pf(vf->vnic);
	if (IS_ERR_OR_NULL(pf)) {
		usnic_err("Failed to discover pf of vnic %s with err%ld\n",
				pci_name(pdev), PTR_ERR(pf));
		err = pf ? PTR_ERR(pf) : -EFAULT;
	if (IS_ERR(pf)) {
		err = PTR_ERR(pf);
		usnic_err("Failed to discover pf of vnic %s with err%d\n",
				pci_name(pdev), err);
		goto out_clean_vnic;
	}