rpmsg: glink: Remove channel decouple from rpdev release
authorChris Lew <clew@codeaurora.org>
Thu, 30 Jul 2020 05:18:15 +0000 (10:48 +0530)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 15 Oct 2021 16:01:14 +0000 (11:01 -0500)
If a channel is being rapidly restarting and the kobj release worker is
busy, there is a chance the rpdev_release function will run after the
channel struct itself has been released.

There should not be a need to decouple the channel from rpdev in the
rpdev release since that should only happen from the close commands.

Signed-off-by: Chris Lew <clew@codeaurora.org>
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/1596086296-28529-6-git-send-email-deesin@codeaurora.org
drivers/rpmsg/qcom_glink_native.c

index ac710dc03710993cec6aef312c4f834ce4733a31..c1207aa88bdfc633375164b5505b43623f8cfd59 100644 (file)
@@ -1417,9 +1417,7 @@ static const struct rpmsg_endpoint_ops glink_endpoint_ops = {
 static void qcom_glink_rpdev_release(struct device *dev)
 {
        struct rpmsg_device *rpdev = to_rpmsg_device(dev);
-       struct glink_channel *channel = to_glink_channel(rpdev->ept);
 
-       channel->rpdev = NULL;
        kfree(rpdev);
 }