i40evf: propagate interrupt allocation failure
authorMitch Williams <mitch.a.williams@intel.com>
Thu, 27 Aug 2015 15:42:31 +0000 (11:42 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 7 Oct 2015 21:43:45 +0000 (14:43 -0700)
Lower level functions are properly reporting errors, and higher-level
functions are correctly responding to errors, but the errors aren't
actually getting through. Typically, the middle-manager function seems
to want to shield its boss from any bad news.

This change fixes a panic if the driver is unable to enable MSI-X or is
unable to acquire enough vectors.

Change-ID: Ifd5787ce92519a5d97e4b465902db930d97b71a1
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index cc78fdfd5fa0f74442de663f8f399275b2391b18..0d18446cc5ad8350e43660c6c252a8ecb13c6830 100644 (file)
@@ -1163,7 +1163,7 @@ static int i40evf_set_interrupt_capability(struct i40evf_adapter *adapter)
        for (vector = 0; vector < v_budget; vector++)
                adapter->msix_entries[vector].entry = vector;
 
-       i40evf_acquire_msix_vectors(adapter, v_budget);
+       err = i40evf_acquire_msix_vectors(adapter, v_budget);
 
 out:
        adapter->netdev->real_num_tx_queues = pairs;