diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2011-08-26 07:46:45 +0000 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2011-10-12 22:46:13 -0700 |
commit | c74d588e2addd9a13cca49a4d9172e0e2948448f (patch) | |
tree | 0e181edbadb51947dde88eaef6f0e8d751088a89 /drivers | |
parent | 0d1ae7f46f1b51623bed2904576d15f6ecd5dc10 (diff) | |
download | linux-3.10-c74d588e2addd9a13cca49a4d9172e0e2948448f.tar.gz linux-3.10-c74d588e2addd9a13cca49a4d9172e0e2948448f.tar.bz2 linux-3.10-c74d588e2addd9a13cca49a4d9172e0e2948448f.zip |
igb: Make certain one vector is always assigned in igb_request_irq
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 3905a499a59..efc367bddc4 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -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: |