aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Duyck <aduyck@mirantis.com>2015-10-27 16:59:12 -0700
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-12-13 15:28:04 -0800
commit587731e684dcf3522215194a02357d26b9bc7277 (patch)
tree2a0525511d2b7dc5e02ec3cfd531c93ab5bc7d44 /drivers
parentfm10k: conditionally compile DCB and DebugFS support (diff)
downloadlinux-dev-587731e684dcf3522215194a02357d26b9bc7277.tar.xz
linux-dev-587731e684dcf3522215194a02357d26b9bc7277.zip
fm10k: Cleanup MSI-X interrupts in case of failure
If the q_vector allocation fails we should free the resources associated with the MSI-X vector table. Signed-off-by: Alexander Duyck <aduyck@mirantis.com> Reviewed-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/intel/fm10k/fm10k_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index df43362f2284..d8b780006394 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
@@ -1998,8 +1998,10 @@ int fm10k_init_queueing_scheme(struct fm10k_intfc *interface)
/* Allocate memory for queues */
err = fm10k_alloc_q_vectors(interface);
- if (err)
+ if (err) {
+ fm10k_reset_msix_capability(interface);
return err;
+ }
/* Map rings to devices, and map devices to physical queues */
fm10k_assign_rings(interface);