diff options
| author | Aleksandr Loktionov <[email protected]> | 2023-04-03 05:13:18 +0000 |
|---|---|---|
| committer | Tony Nguyen <[email protected]> | 2023-04-17 17:13:03 +0000 |
| commit | c86c00c6935505929cc9adb29ddb85e48c71f828 (patch) | |
| tree | 808425314e95d41284ebcc2a23ee7fd4f1355d68 /drivers/net/ethernet/intel/i40e/i40e_main.c | |
| parent | i40e: fix accessing vsi->active_filters without holding lock (diff) | |
| download | kernel-c86c00c6935505929cc9adb29ddb85e48c71f828.tar.gz kernel-c86c00c6935505929cc9adb29ddb85e48c71f828.zip | |
i40e: fix i40e_setup_misc_vector() error handling
Add error handling of i40e_setup_misc_vector() in i40e_rebuild().
In case interrupt vectors setup fails do not re-open vsi-s and
do not bring up vf-s, we have no interrupts to serve a traffic
anyway.
Fixes: 41c445ff0f48 ("i40e: main driver core")
Signed-off-by: Aleksandr Loktionov <[email protected]>
Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 6313575a4b6c..7c30abd0dfc2 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -11059,8 +11059,11 @@ static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired) pf->hw.aq.asq_last_status)); } /* reinit the misc interrupt */ - if (pf->flags & I40E_FLAG_MSIX_ENABLED) + if (pf->flags & I40E_FLAG_MSIX_ENABLED) { ret = i40e_setup_misc_vector(pf); + if (ret) + goto end_unlock; + } /* Add a filter to drop all Flow control frames from any VSI from being * transmitted. By doing so we stop a malicious VF from sending out |
