There is no cleanup to perform in case an error occurs inside
rproc_add_virtio_dev, so remove the goto label and just return in such
cases.

Signed-off-by: Francesco Valla <[email protected]>
---
 drivers/remoteproc/remoteproc_virtio.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/remoteproc/remoteproc_virtio.c 
b/drivers/remoteproc/remoteproc_virtio.c
index d5e9ff045a28..096bcba527c1 100644
--- a/drivers/remoteproc/remoteproc_virtio.c
+++ b/drivers/remoteproc/remoteproc_virtio.c
@@ -376,9 +376,8 @@ static int rproc_add_virtio_dev(struct rproc_vdev *rvdev, 
int id)
        int ret;
 
        if (rproc->ops->kick == NULL) {
-               ret = -EINVAL;
                dev_err(dev, ".kick method not defined for %s\n", rproc->name);
-               goto out;
+               return -EINVAL;
        }
 
        /* Try to find dedicated vdev buffer carveout */
@@ -394,7 +393,7 @@ static int rproc_add_virtio_dev(struct rproc_vdev *rvdev, 
int id)
                                                                 
mem->of_resm_idx);
                        if (ret) {
                                dev_err(dev, "Can't associate reserved 
memory\n");
-                               goto out;
+                               return ret;
                        }
                } else {
                        if (mem->va) {
@@ -412,7 +411,7 @@ static int rproc_add_virtio_dev(struct rproc_vdev *rvdev, 
int id)
                                                           mem->len);
                        if (ret < 0) {
                                dev_err(dev, "Failed to associate buffer\n");
-                               goto out;
+                               return ret;
                        }
                }
        } else {
@@ -431,11 +430,10 @@ static int rproc_add_virtio_dev(struct rproc_vdev *rvdev, 
int id)
 
        /* Allocate virtio device */
        vdev = kzalloc_obj(*vdev);
-       if (!vdev) {
-               ret = -ENOMEM;
-               goto out;
-       }
-       vdev->id.device = id,
+       if (!vdev)
+               return -ENOMEM;
+
+       vdev->id.device = id,
        vdev->config = &rproc_virtio_config_ops,
        vdev->dev.parent = dev;
        vdev->dev.release = rproc_virtio_dev_release;
@@ -447,13 +445,12 @@ static int rproc_add_virtio_dev(struct rproc_vdev *rvdev, 
int id)
        if (ret) {
                put_device(&vdev->dev);
                dev_err(dev, "failed to register vdev: %d\n", ret);
-               goto out;
+               return ret;
        }
 
        dev_info(dev, "registered %s (type %d)\n", dev_name(&vdev->dev), id);
 
-out:
-       return ret;
+       return 0;
 }
 
 /**

-- 
2.55.0


Reply via email to