]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
crypto: qat - Fix missing destroy_workqueue in adf_init_aer()
authorWang Hai <wanghai38@huawei.com>
Tue, 29 Oct 2024 15:05:23 +0000 (23:05 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:52:52 +0000 (13:52 +0100)
[ Upstream commit d8920a722a8cec625267c09ed40af8fd433d7f9a ]

The adf_init_aer() won't destroy device_reset_wq when alloc_workqueue()
for device_sriov_wq failed. Add destroy_workqueue for device_reset_wq to
fix this issue.

Fixes: 4469f9b23468 ("crypto: qat - re-enable sriov after pf reset")
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/intel/qat/qat_common/adf_aer.c

index 04260f61d04294b24d9bf77b68789955de414f01..a6db216f5b7614a87a00739599c1692d78f139a7 100644 (file)
@@ -281,8 +281,11 @@ int adf_init_aer(void)
                return -EFAULT;
 
        device_sriov_wq = alloc_workqueue("qat_device_sriov_wq", 0, 0);
-       if (!device_sriov_wq)
+       if (!device_sriov_wq) {
+               destroy_workqueue(device_reset_wq);
+               device_reset_wq = NULL;
                return -EFAULT;
+       }
 
        return 0;
 }