i40e: avoid use of uninitialized v_budget in i40e_init_msix
authorJohn W Linville <linville@tuxdriver.com>
Wed, 14 Jan 2015 03:06:28 +0000 (03:06 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 9 Feb 2015 03:01:06 +0000 (19:01 -0800)
This I40E_FCOE block increments v_budget before it has been initialized,
then v_budget gets overwritten a few lines later.  This patch just
reorders the code hunks in what I believe was the intended sequence.

Coverity: CID 1260099

Signed-off-by: John W Linville <linville@tuxdriver.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index e774a23901f9c81efc5198ee1f6ba5175a10e478..9efb69ab2ab01b658d97344e9ad0b902ba1bec65 100644 (file)
@@ -6933,17 +6933,17 @@ static int i40e_init_msix(struct i40e_pf *pf)
        if (pf->flags & I40E_FLAG_FD_SB_ENABLED)
                other_vecs++;
 
+       /* Scale down if necessary, and the rings will share vectors */
+       pf->num_lan_msix = min_t(int, pf->num_lan_msix,
+                       (hw->func_caps.num_msix_vectors - other_vecs));
+       v_budget = pf->num_lan_msix + other_vecs;
+
 #ifdef I40E_FCOE
        if (pf->flags & I40E_FLAG_FCOE_ENABLED) {
                pf->num_fcoe_msix = pf->num_fcoe_qps;
                v_budget += pf->num_fcoe_msix;
        }
-
 #endif
-       /* Scale down if necessary, and the rings will share vectors */
-       pf->num_lan_msix = min_t(int, pf->num_lan_msix,
-                       (hw->func_caps.num_msix_vectors - other_vecs));
-       v_budget = pf->num_lan_msix + other_vecs;
 
        pf->msix_entries = kcalloc(v_budget, sizeof(struct msix_entry),
                                   GFP_KERNEL);