linux-stable/drivers/rpmsg
Bjorn Andersson fb23b97346 rpmsg: glink: Cancel pending intent requests at removal
During removal of the glink edge interrupts are disabled and no more
incoming messages are being serviced. In addition to the remote endpoint
being defunct that means that any outstanding requests for intents will
not be serviced, and qcom_glink_request_intent() will blindly wait for
up to 10 seconds.

Mark the intent request as not granted and complete the intent request
completion to fail the waiting client immediately.

Once the current intent request is failed, any potential clients waiting
for the intent request mutex will not enter the same wait, as the
qcom_glink_tx() call will fail fast.

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/20230213155215.1237059-7-quic_bjorande@quicinc.com
2023-02-14 08:19:38 -08:00
..
Kconfig rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl 2022-03-13 11:49:53 -05:00
Makefile rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl 2022-03-13 11:49:53 -05:00
mtk_rpmsg.c rpmsg: mtk_rpmsg: Fix circular locking dependency 2022-06-14 16:41:10 -06:00
qcom_glink_native.c rpmsg: glink: Cancel pending intent requests at removal 2023-02-14 08:19:38 -08:00
qcom_glink_native.h rpmsg: glink: Move irq and mbox handling to transports 2023-02-14 08:19:38 -08:00
qcom_glink_rpm.c rpmsg: glink: Move irq and mbox handling to transports 2023-02-14 08:19:38 -08:00
qcom_glink_smem.c rpmsg: glink: Move irq and mbox handling to transports 2023-02-14 08:19:38 -08:00
qcom_glink_ssr.c rpmsg: move from strlcpy with unused retval to strscpy 2022-12-28 09:47:41 -06:00
qcom_smd.c rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge 2022-07-16 22:15:40 -05:00
rpmsg_char.c rpmsg: char: Add lock to avoid race when rpmsg device is released 2022-12-28 09:54:03 -06:00
rpmsg_char.h rpmsg: char: Export eptdev create and destroy functions 2022-03-13 11:49:53 -05:00
rpmsg_core.c rpmsg: Strcpy is not safe, use strscpy_pad() instead 2022-06-24 11:37:00 -06:00
rpmsg_ctrl.c rpmsg: ctrl: Add lock to rpmsg_ctrldev_remove 2022-12-28 09:54:03 -06:00
rpmsg_internal.h rpmsg: Fix parameter naming for announce_create/destroy ops 2022-06-24 10:58:12 -06:00
rpmsg_ns.c rpmsg: Fix calling device_lock() on non-initialized device 2022-05-06 09:51:33 +02:00
virtio_rpmsg_bus.c rpmsg: virtio: Fix the unregistration of the device rpmsg_ctrl 2022-04-26 09:27:15 -06:00