diff options
author | Bjorn Andersson <[email protected]> | 2023-02-14 15:42:31 -0800 |
---|---|---|
committer | Bjorn Andersson <[email protected]> | 2023-02-14 20:28:55 -0800 |
commit | 3e74ec2f39362bffbd42854acbb67c7f4cb808f9 (patch) | |
tree | de06a3265de276eafd8505c2f94da133bb75e19d | |
parent | 4e816d0318fdfe8932da80dbf04ba318b13e4b3a (diff) |
rpmsg: glink: Avoid infinite loop on intent for missing channel
In the event that an intent advertisement arrives on an unknown channel
the fifo is not advanced, resulting in the same message being handled
over and over.
Fixes: dacbb35e930f ("rpmsg: glink: Receive and store the remote intent buffers")
Signed-off-by: Bjorn Andersson <[email protected]>
Reviewed-by: Chris Lew <[email protected]>
Signed-off-by: Bjorn Andersson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
-rw-r--r-- | drivers/rpmsg/qcom_glink_native.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c index 89c3381f06c3..b6c60bf86009 100644 --- a/drivers/rpmsg/qcom_glink_native.c +++ b/drivers/rpmsg/qcom_glink_native.c @@ -966,6 +966,7 @@ static void qcom_glink_handle_intent(struct qcom_glink *glink, spin_unlock_irqrestore(&glink->idr_lock, flags); if (!channel) { dev_err(glink->dev, "intents for non-existing channel\n"); + qcom_glink_rx_advance(glink, ALIGN(msglen, 8)); return; } |