]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
crypto: hisilicon/qm - fix missing put dfx access
authorWeili Qian <qianweili@huawei.com>
Sat, 27 Aug 2022 10:27:37 +0000 (18:27 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 24 Nov 2022 13:24:48 +0000 (14:24 +0100)
BugLink: https://bugs.launchpad.net/bugs/1996825
[ Upstream commit 5afc904f443de2afd31c4e0686ba178beede86fe ]

In function qm_cmd_write(), if function returns from
branch 'atomic_read(&qm->status.flags) == QM_STOP',
the got dfx access is forgotten to put.

Fixes: 607c191b371d ("crypto: hisilicon - support runtime PM for accelerator device")
Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/crypto/hisilicon/qm.c

index 31610ec5a4ddf84698ac00149fc3d947be450cd0..493db786503a5a213e2f4d04f37661f1f202c0a1 100644 (file)
@@ -1888,8 +1888,10 @@ static ssize_t qm_cmd_write(struct file *filp, const char __user *buffer,
                return ret;
 
        /* Judge if the instance is being reset. */
-       if (unlikely(atomic_read(&qm->status.flags) == QM_STOP))
-               return 0;
+       if (unlikely(atomic_read(&qm->status.flags) == QM_STOP)) {
+               ret = 0;
+               goto put_dfx_access;
+       }
 
        if (count > QM_DBG_WRITE_LEN) {
                ret = -ENOSPC;