linux/drivers/rpmsg
Bjorn Andersson f5872a2a84 rpmsg: glink: Propagate TX failures in intentless mode as well
commit 7a68f9fa97 upstream.

As support for splitting transmission over several messages using
TX_DATA_CONT was introduced it does not immediately return the return
value of qcom_glink_tx().

The result is that in the intentless case (i.e. intent == NULL), the
code will continue to send all additional chunks. This is wasteful, and
it's possible that the send operation could incorrectly indicate
success, if the last chunk fits in the TX fifo.

Fix the condition.

Fixes: 8956927fae ("rpmsg: glink: Add TX_DATA_CONT command while sending")
Reviewed-by: Chris Lew <quic_clew@quicinc.com>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230418163018.785524-2-quic_bjorande@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-14 19:51:19 +01:00
..
Kconfig rpmsg: Turn name service into a stand alone driver 2020-11-24 10:11:59 -06:00
Makefile rpmsg: Turn name service into a stand alone driver 2020-11-24 10:11:59 -06:00
mtk_rpmsg.c rpmsg: mtk_rpmsg: Fix circular locking dependency 2022-08-17 14:24:03 +02:00
qcom_glink_native.c rpmsg: glink: Propagate TX failures in intentless mode as well 2024-12-14 19:51:19 +01:00
qcom_glink_native.h rpmsg: glink: Switch to SPDX license identifier 2018-06-03 17:37:15 -07:00
qcom_glink_rpm.c rpmsg: glink: Switch to SPDX license identifier 2018-06-03 17:37:15 -07:00
qcom_glink_smem.c rpmsg: glink: Set tail pointer to 0 at end of FIFO 2019-10-11 11:34:12 -07:00
qcom_glink_ssr.c rpmsg: glink: add include of header file 2021-01-05 22:22:40 -06:00
qcom_smd.c rpmsg: qcom: glink: replace strncpy() with strscpy_pad() 2022-10-12 09:53:28 +02:00
rpmsg_char.c rpmsg: char: Add mutex protection for rpmsg_eptdev_open() 2022-08-17 14:24:03 +02:00
rpmsg_core.c rpmsg: Fix possible refcount leak in rpmsg_register_device_override() 2023-11-08 17:26:44 +01:00
rpmsg_internal.h rpmsg: Fix calling device_lock() on non-initialized device 2023-11-08 17:26:44 +01:00
rpmsg_ns.c rpmsg: Fix calling device_lock() on non-initialized device 2023-11-08 17:26:44 +01:00
virtio_rpmsg_bus.c rpmsg: virtio: Free driver_override when rpmsg_remove() 2024-02-23 08:54:24 +01:00