RE: [PATCH 4.14 36/38] rpmsg: glink: Remove chunk size word align warning

From: nobuhiro1.iwamatsu
Date: Mon Apr 13 2020 - 01:41:50 EST


Hi,

> -----Original Message-----
> From: stable-owner@xxxxxxxxxxxxxxx [mailto:stable-owner@xxxxxxxxxxxxxxx] On Behalf Of Greg Kroah-Hartman
> Sent: Saturday, April 11, 2020 9:09 PM
> To: linux-kernel@xxxxxxxxxxxxxxx
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; stable@xxxxxxxxxxxxxxx; Chris Lew <clew@xxxxxxxxxxxxxx>; Arun
> Kumar Neelakantam <aneela@xxxxxxxxxxxxxx>; Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>; Lee Jones
> <lee.jones@xxxxxxxxxx>
> Subject: [PATCH 4.14 36/38] rpmsg: glink: Remove chunk size word align warning
>
> From: Chris Lew <clew@xxxxxxxxxxxxxx>
>
> commit f0beb4ba9b185d497c8efe7b349363700092aee0 upstream.
>
> It is possible for the chunk sizes coming from the non RPM remote procs
> to not be word aligned. Remove the alignment warning and continue to
> read from the FIFO so execution is not stalled.
>
> Signed-off-by: Chris Lew <clew@xxxxxxxxxxxxxx>
> Signed-off-by: Arun Kumar Neelakantam <aneela@xxxxxxxxxxxxxx>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

This commit also seems to require the following commits:

commit 928002a5e9dab2ddc1a0fe3e00739e89be30dc6b
Author: Arun Kumar Neelakantam <aneela@xxxxxxxxxxxxxx>
Date: Wed Oct 3 17:08:20 2018 +0530

rpmsg: glink: smem: Support rx peak for size less than 4 bytes

The current rx peak function fails to read the data if size is
less than 4bytes.

Use memcpy_fromio to support data reads of size less than 4 bytes.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: f0beb4ba9b18 ("rpmsg: glink: Remove chunk size word align warning")
Signed-off-by: Arun Kumar Neelakantam <aneela@xxxxxxxxxxxxxx>
Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>

This fixes commit need to apply 4.19.

Best regards,
Nobuhiro

>
> ---
> drivers/rpmsg/qcom_glink_native.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> --- a/drivers/rpmsg/qcom_glink_native.c
> +++ b/drivers/rpmsg/qcom_glink_native.c
> @@ -811,9 +811,6 @@ static int qcom_glink_rx_data(struct qco
> return -EAGAIN;
> }
>
> - if (WARN(chunk_size % 4, "Incoming data must be word aligned\n"))
> - return -EINVAL;
> -
> rcid = le16_to_cpu(hdr.msg.param1);
> spin_lock_irqsave(&glink->idr_lock, flags);
> channel = idr_find(&glink->rcids, rcid);
>