]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: hinic: add missing destroy_workqueue in hinic_pf_to_mgmt_init
authorZheng Bin <zhengbin13@huawei.com>
Fri, 13 May 2022 07:09:22 +0000 (15:09 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 May 2022 09:57:00 +0000 (10:57 +0100)
hinic_pf_to_mgmt_init misses destroy_workqueue in error path,
this patch fixes that.

Fixes: 6dbb89014dc3 ("hinic: fix sending mailbox timeout in aeq event work")
Signed-off-by: Zheng Bin <zhengbin13@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c

index ebc77771f5dac455b7417526863e6786bfbfef9c..4aa1f433ed24d08a15a64b82ff61d20461999081 100644 (file)
@@ -643,6 +643,7 @@ int hinic_pf_to_mgmt_init(struct hinic_pf_to_mgmt *pf_to_mgmt,
        err = alloc_msg_buf(pf_to_mgmt);
        if (err) {
                dev_err(&pdev->dev, "Failed to allocate msg buffers\n");
+               destroy_workqueue(pf_to_mgmt->workq);
                hinic_health_reporters_destroy(hwdev->devlink_dev);
                return err;
        }
@@ -650,6 +651,7 @@ int hinic_pf_to_mgmt_init(struct hinic_pf_to_mgmt *pf_to_mgmt,
        err = hinic_api_cmd_init(pf_to_mgmt->cmd_chain, hwif);
        if (err) {
                dev_err(&pdev->dev, "Failed to initialize cmd chains\n");
+               destroy_workqueue(pf_to_mgmt->workq);
                hinic_health_reporters_destroy(hwdev->devlink_dev);
                return err;
        }