OSDN Git Service

crypto: octeontx2 - fix missing unlock
authorYang Yingliang <yangyingliang@huawei.com>
Fri, 25 Feb 2022 07:27:24 +0000 (15:27 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 2 Mar 2022 22:49:22 +0000 (10:49 +1200)
Add the missing unlock before return from error path.

Fixes: 4363f3d3ce8f ("crypto: octeontx2 - add synchronization between mailbox accesses")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c

index 17a9dd2..a402ccf 100644 (file)
@@ -143,8 +143,10 @@ static void cptpf_flr_wq_handler(struct work_struct *work)
        mutex_lock(&pf->lock);
        req = otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req),
                                      sizeof(struct msg_rsp));
-       if (!req)
+       if (!req) {
+               mutex_unlock(&pf->lock);
                return;
+       }
 
        req->sig = OTX2_MBOX_REQ_SIG;
        req->id = MBOX_MSG_VF_FLR;
index fee758b..dee0aa6 100644 (file)
@@ -20,8 +20,10 @@ static int forward_to_af(struct otx2_cptpf_dev *cptpf,
 
        mutex_lock(&cptpf->lock);
        msg = otx2_mbox_alloc_msg(&cptpf->afpf_mbox, 0, size);
-       if (msg == NULL)
+       if (msg == NULL) {
+               mutex_unlock(&cptpf->lock);
                return -ENOMEM;
+       }
 
        memcpy((uint8_t *)msg + sizeof(struct mbox_msghdr),
               (uint8_t *)req + sizeof(struct mbox_msghdr), size);