[PATCH RFC 01/12] remoteproc: virtio: cleanup rproc_add_virtio_dev error path
From: Francesco Valla
Date: Wed Sep 16 2026 - 17:14:10 EST
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 <francesco@xxxxxxxx>
---
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