diff mbox series

[2/3] rpmsg: Only invoke announce_create for rpdev with endpoints

Message ID 20180327210643.3436-3-bjorn.andersson@linaro.org
State New
Headers show
Series None | expand

Commit Message

Bjorn Andersson March 27, 2018, 9:06 p.m. UTC
For special rpmsg devices without a primary endpoint there is nothing to
announce so don't call the backend announce create function if we didn't
create an endpoint.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

---
 drivers/rpmsg/rpmsg_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.16.2

Comments

Loic Pallardy April 3, 2018, 9:12 a.m. UTC | #1
Hi Bjorn,

> -----Original Message-----

> From: linux-remoteproc-owner@vger.kernel.org [mailto:linux-remoteproc-

> owner@vger.kernel.org] On Behalf Of Bjorn Andersson

> Sent: Tuesday, March 27, 2018 11:07 PM

> To: Ohad Ben-Cohen <ohad@wizery.com>; Bjorn Andersson

> <bjorn.andersson@linaro.org>

> Cc: linux-remoteproc@vger.kernel.org; linux-kernel@vger.kernel.org; linux-

> arm-msm@vger.kernel.org

> Subject: [PATCH 2/3] rpmsg: Only invoke announce_create for rpdev with

> endpoints

> 

> For special rpmsg devices without a primary endpoint there is nothing to

> announce so don't call the backend announce create function if we didn't

> create an endpoint.

> 

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> ---

>  drivers/rpmsg/rpmsg_core.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c

> index dffa3aab7178..e85d2691d2cf 100644

> --- a/drivers/rpmsg/rpmsg_core.c

> +++ b/drivers/rpmsg/rpmsg_core.c

> @@ -442,7 +442,7 @@ static int rpmsg_dev_probe(struct device *dev)

>  		goto out;

>  	}

> 

> -	if (rpdev->ops->announce_create)

> +	if (ept && rpdev->ops->announce_create)


This check is already part of virtio_rpmsg.c (see line 341)
	/* need to tell remote processor's name service about this channel ? */
	if (rpdev->announce && rpdev->ept &&
	    virtio_has_feature(vrp->vdev, VIRTIO_RPMSG_F_NS)) {

should it be part of qcom_smd driver too? (but each implementation will duplicate checks)
Or may have a generic check in the core including rpdev->announce as well (and doing virtio_rpmsg.c clean-up)

Change will become:
	if (rpdev->announce && ept && rpdev->ops->announce_create)

Regards,
Loic
>  		err = rpdev->ops->announce_create(rpdev);

>  out:

>  	return err;

> --

> 2.16.2

> 

> --

> To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in

> the body of a message to majordomo@vger.kernel.org

> More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox series

Patch

diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c
index dffa3aab7178..e85d2691d2cf 100644
--- a/drivers/rpmsg/rpmsg_core.c
+++ b/drivers/rpmsg/rpmsg_core.c
@@ -442,7 +442,7 @@  static int rpmsg_dev_probe(struct device *dev)
 		goto out;
 	}
 
-	if (rpdev->ops->announce_create)
+	if (ept && rpdev->ops->announce_create)
 		err = rpdev->ops->announce_create(rpdev);
 out:
 	return err;