igb: Make certain one vector is always assigned in igb_request_irq
authorAlexander Duyck <alexander.h.duyck@intel.com>
Fri, 26 Aug 2011 07:46:45 +0000 (07:46 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 13 Oct 2011 05:46:13 +0000 (22:46 -0700)
This change makes certain that one interrupt is always initialized in
igb_request_irq.  In addition we drop the use of adapter->pdev and
instead just call pdev since we made a local copy of the pointer earlier in
the function.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c

index 3905a49..efc367b 100644 (file)
@@ -1262,7 +1262,7 @@ static int igb_request_irq(struct igb_adapter *adapter)
                        goto request_done;
                /* fall back to MSI */
                igb_clear_interrupt_scheme(adapter);
-               if (!pci_enable_msi(adapter->pdev))
+               if (!pci_enable_msi(pdev))
                        adapter->flags |= IGB_FLAG_HAS_MSI;
                igb_free_all_tx_resources(adapter);
                igb_free_all_rx_resources(adapter);
@@ -1284,12 +1284,12 @@ static int igb_request_irq(struct igb_adapter *adapter)
                }
                igb_setup_all_tx_resources(adapter);
                igb_setup_all_rx_resources(adapter);
-       } else {
-               igb_assign_vector(adapter->q_vector[0], 0);
        }
 
+       igb_assign_vector(adapter->q_vector[0], 0);
+
        if (adapter->flags & IGB_FLAG_HAS_MSI) {
-               err = request_irq(adapter->pdev->irq, igb_intr_msi, 0,
+               err = request_irq(pdev->irq, igb_intr_msi, 0,
                                  netdev->name, adapter);
                if (!err)
                        goto request_done;
@@ -1299,11 +1299,11 @@ static int igb_request_irq(struct igb_adapter *adapter)
                adapter->flags &= ~IGB_FLAG_HAS_MSI;
        }
 
-       err = request_irq(adapter->pdev->irq, igb_intr, IRQF_SHARED,
+       err = request_irq(pdev->irq, igb_intr, IRQF_SHARED,
                          netdev->name, adapter);
 
        if (err)
-               dev_err(&adapter->pdev->dev, "Error %d getting interrupt\n",
+               dev_err(&pdev->dev, "Error %d getting interrupt\n",
                        err);
 
 request_done: