tcmu: Add a missing unlock on an error path
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 8 Nov 2017 08:44:15 +0000 (11:44 +0300)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 8 Nov 2017 09:42:35 +0000 (01:42 -0800)
We added a new error path here but we forgot to drop the lock first
before returning.

Fixes: 0d44374c1aae ("tcmu: fix double se_cmd completion")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_user.c

index d2b8d5ccb446086de7f5ac53f8b85c497fdd8996..bf4fd40dde2bde27324ffbb42ffed1604f8f1154 100644 (file)
@@ -888,6 +888,7 @@ tcmu_queue_cmd_ring(struct tcmu_cmd *tcmu_cmd)
        ret = tcmu_setup_cmd_timer(tcmu_cmd);
        if (ret) {
                tcmu_cmd_free_data(tcmu_cmd, tcmu_cmd->dbi_cnt);
+               mutex_unlock(&udev->cmdr_lock);
                return TCM_OUT_OF_RESOURCES;
        }
        entry->hdr.cmd_id = tcmu_cmd->cmd_id;