X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=drivers%2Fvdpa%2Falibaba%2Feni_vdpa.c;h=cce3d1837104c34f0bf331db33d5a81f64c0a6e7;hb=5125a302996583ab6f614f78424c2d554e8e6170;hp=5a09a09cca709034503250c1ff64beb26fa35b3d;hpb=5a29232d870d9e63fe5ff30b081be6ea7cc2465d;p=platform%2Fkernel%2Flinux-starfive.git diff --git a/drivers/vdpa/alibaba/eni_vdpa.c b/drivers/vdpa/alibaba/eni_vdpa.c index 5a09a09..cce3d18 100644 --- a/drivers/vdpa/alibaba/eni_vdpa.c +++ b/drivers/vdpa/alibaba/eni_vdpa.c @@ -497,7 +497,7 @@ static int eni_vdpa_probe(struct pci_dev *pdev, const struct pci_device_id *id) if (!eni_vdpa->vring) { ret = -ENOMEM; ENI_ERR(pdev, "failed to allocate virtqueues\n"); - goto err; + goto err_remove_vp_legacy; } for (i = 0; i < eni_vdpa->queues; i++) { @@ -509,11 +509,13 @@ static int eni_vdpa_probe(struct pci_dev *pdev, const struct pci_device_id *id) ret = vdpa_register_device(&eni_vdpa->vdpa, eni_vdpa->queues); if (ret) { ENI_ERR(pdev, "failed to register to vdpa bus\n"); - goto err; + goto err_remove_vp_legacy; } return 0; +err_remove_vp_legacy: + vp_legacy_remove(&eni_vdpa->ldev); err: put_device(&eni_vdpa->vdpa.dev); return ret;