Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 4 Jan 2021 19:03:11 -0600 | From | Bjorn Andersson <> | Subject | Re: [PATCH v2 11/16] rpmsg: char: check destination address is not null |
| |
On Tue 22 Dec 04:57 CST 2020, Arnaud Pouliquen wrote:
> The name service announcement is not sent if no endpoint is created by > default. If the destination address is not precised by the > application when creating the device (thanks to the RPMsg CTRL interface), > it is not possible to have a valid RPMsg channel. >
In the Qualcomm transports, the chinfo.name is used to identify the channel, so there it's valid to create a endpoint without dst.
Regards, Bjorn
> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> > --- > drivers/rpmsg/rpmsg_char.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c > index 4b0674a2e3e9..8b1928594d10 100644 > --- a/drivers/rpmsg/rpmsg_char.c > +++ b/drivers/rpmsg/rpmsg_char.c > @@ -305,6 +305,16 @@ static int rpmsg_chrdev_probe(struct rpmsg_device *rpdev) > struct device *dev; > int ret; > > + /* There is not ept created by default. As consequence there is not NS > + * announcement and the destination address has to be set. > + * this limitation could be solved in future by adding a helper in > + * rpmsg_ns. > + */ > + if (rpdev->dst == RPMSG_ADDR_ANY) { > + dev_err(dev, "destination address invalid (%d)\n", rpdev->dst); > + return -EINVAL; > + } > + > eptdev = kzalloc(sizeof(*eptdev), GFP_KERNEL); > if (!eptdev) > return -ENOMEM; > -- > 2.17.1 >
| ![\](/images/icornerr.gif) |