Le 20/10/2022 à 21:21, Christophe JAILLET a écrit :
After a successful vp_legacy_probe() call, vp_legacy_remove() should be
called in the error handling path, as already done in the remove function.

Add the missing call.

Fixes: e85087beedca ("eni_vdpa: add vDPA driver for Alibaba ENI")
Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
---
  drivers/vdpa/alibaba/eni_vdpa.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/vdpa/alibaba/eni_vdpa.c b/drivers/vdpa/alibaba/eni_vdpa.c
index 5a09a09cca70..cce3d1837104 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;

Polite reminder on a (very) old patch.

CJ

Reply via email to