Merge tag 'pull-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-block.git] / drivers / rpmsg / rpmsg_ctrl.c
index 107da70fdbaaaff688a72d7ff88cd20f285c4726..433253835690806a8f75749a2e2d6e79e33ab8e2 100644 (file)
@@ -194,10 +194,12 @@ static void rpmsg_ctrldev_remove(struct rpmsg_device *rpdev)
        struct rpmsg_ctrldev *ctrldev = dev_get_drvdata(&rpdev->dev);
        int ret;
 
+       mutex_lock(&ctrldev->ctrl_lock);
        /* Destroy all endpoints */
        ret = device_for_each_child(&ctrldev->dev, NULL, rpmsg_chrdev_eptdev_destroy);
        if (ret)
                dev_warn(&rpdev->dev, "failed to nuke endpoints: %d\n", ret);
+       mutex_unlock(&ctrldev->ctrl_lock);
 
        cdev_device_del(&ctrldev->cdev, &ctrldev->dev);
        put_device(&ctrldev->dev);