diff options
author | Sjur Brændeland <sjur.brandeland@stericsson.com> | 2013-02-21 18:15:32 +0100 |
---|---|---|
committer | Ohad Ben-Cohen <ohad@wizery.com> | 2013-04-05 08:47:57 +0300 |
commit | cde42e076c1cdd69a1f955d66ff6596bad3d2105 (patch) | |
tree | 255a172ba60311c8ea9501182d92cb8e2a90dcec /drivers/remoteproc | |
parent | 1cd425b660bd5b4f41b9175b0b7bf3828ce88144 (diff) | |
download | linux-cde42e076c1cdd69a1f955d66ff6596bad3d2105.tar.gz linux-cde42e076c1cdd69a1f955d66ff6596bad3d2105.tar.bz2 linux-cde42e076c1cdd69a1f955d66ff6596bad3d2105.zip |
remoteproc: fix error path of handle_vdev
Remove the vdev entry from the list before freeing it,
otherwise rproc->vdevs will explode.
Cc: stable@vger.kernel.org
Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Acked-by: Ido Yariv <ido@wizery.com>
[edit subject, minor commit log edit, cc stable]
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r-- | drivers/remoteproc/remoteproc_core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c index fb0fb342bf96..8edb4aed5d36 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -366,10 +366,12 @@ static int rproc_handle_vdev(struct rproc *rproc, struct fw_rsc_vdev *rsc, /* it is now safe to add the virtio device */ ret = rproc_add_virtio_dev(rvdev, rsc->id); if (ret) - goto free_rvdev; + goto remove_rvdev; return 0; +remove_rvdev: + list_del(&rvdev->node); free_rvdev: kfree(rvdev); return ret; |