| From cb7ce855507ab0572daaeef0efbb9196c18a88ba Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 28 Feb 2021 19:50:58 +0800 |
| Subject: i40e: Fix error handling in i40e_vsi_open |
| |
| From: Dinghao Liu <dinghao.liu@zju.edu.cn> |
| |
| [ Upstream commit 9c04cfcd4aad232e36306cdc5c74cd9fc9148a7e ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c |
| index a1b4e995f2b7..4f4ec1f166ef 100644 |
| --- a/drivers/net/ethernet/intel/i40e/i40e_main.c |
| +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c |
| @@ -8292,6 +8292,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; |
| -- |
| 2.30.2 |
| |