Hi Loic, On 07/25/2018 04:08 PM, Loic Pallardy wrote: > In case of rpmsg_register_device() failure, vch previously > allocated must be free. >
Isn't this already handled through the virtio_rpmsg_release_device() callback as part of the put_device() in rpmsg_register_device() failure. regards Suman > fixes: 6eed598a0491 ("rpmsg: Split off generic tail of create_channel()") > > Signed-off-by: Loic Pallardy <loic.palla...@st.com> > --- > drivers/rpmsg/virtio_rpmsg_bus.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c > b/drivers/rpmsg/virtio_rpmsg_bus.c > index 664f957..10f927e 100644 > --- a/drivers/rpmsg/virtio_rpmsg_bus.c > +++ b/drivers/rpmsg/virtio_rpmsg_bus.c > @@ -431,8 +431,10 @@ static struct rpmsg_device *rpmsg_create_channel(struct > virtproc_info *vrp, > rpdev->dev.parent = &vrp->vdev->dev; > rpdev->dev.release = virtio_rpmsg_release_device; > ret = rpmsg_register_device(rpdev); > - if (ret) > + if (ret) { > + kfree(vch); > return NULL; > + } > > return rpdev; > } >