i40e: Fix error handling in i40e_vsi_open
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Sun, 28 Feb 2021 11:50:58 +0000 (19:50 +0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 24 Jun 2021 16:38:26 +0000 (09:38 -0700)
When vsi->type == I40E_VSI_FDIR, we have caught the return value of
i40e_vsi_request_irq() but without further handling. Check and execute
memory clean on failure just like the other i40e_vsi_request_irq().

Fixes: 8a9eb7d3cbcab ("i40e: rework fdir setup and teardown")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 704e474..526fa0a 100644 (file)
@@ -8703,6 +8703,8 @@ int i40e_vsi_open(struct i40e_vsi *vsi)
                         dev_driver_string(&pf->pdev->dev),
                         dev_name(&pf->pdev->dev));
                err = i40e_vsi_request_irq(vsi, int_name);
+               if (err)
+                       goto err_setup_rx;
 
        } else {
                err = -EINVAL;