Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
This commit is contained in:
@@ -421,6 +421,8 @@ static void igb_assign_vector(struct igb_q_vector *q_vector, int msix_vector)
|
||||
msixbm = E1000_EICR_RX_QUEUE0 << rx_queue;
|
||||
if (tx_queue > IGB_N0_QUEUE)
|
||||
msixbm |= E1000_EICR_TX_QUEUE0 << tx_queue;
|
||||
if (!adapter->msix_entries && msix_vector == 0)
|
||||
msixbm |= E1000_EIMS_OTHER;
|
||||
array_wr32(E1000_MSIXBM(0), msix_vector, msixbm);
|
||||
q_vector->eims_value = msixbm;
|
||||
break;
|
||||
@@ -877,7 +879,6 @@ static int igb_request_irq(struct igb_adapter *adapter)
|
||||
{
|
||||
struct net_device *netdev = adapter->netdev;
|
||||
struct pci_dev *pdev = adapter->pdev;
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
int err = 0;
|
||||
|
||||
if (adapter->msix_entries) {
|
||||
@@ -909,20 +910,7 @@ static int igb_request_irq(struct igb_adapter *adapter)
|
||||
igb_setup_all_tx_resources(adapter);
|
||||
igb_setup_all_rx_resources(adapter);
|
||||
} else {
|
||||
switch (hw->mac.type) {
|
||||
case e1000_82575:
|
||||
wr32(E1000_MSIXBM(0),
|
||||
(E1000_EICR_RX_QUEUE0 |
|
||||
E1000_EICR_TX_QUEUE0 |
|
||||
E1000_EIMS_OTHER));
|
||||
break;
|
||||
case e1000_82580:
|
||||
case e1000_82576:
|
||||
wr32(E1000_IVAR0, E1000_IVAR_VALID);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
igb_assign_vector(adapter->q_vector[0], 0);
|
||||
}
|
||||
|
||||
if (adapter->flags & IGB_FLAG_HAS_MSI) {
|
||||
@@ -1140,6 +1128,8 @@ int igb_up(struct igb_adapter *adapter)
|
||||
}
|
||||
if (adapter->msix_entries)
|
||||
igb_configure_msix(adapter);
|
||||
else
|
||||
igb_assign_vector(adapter->q_vector[0], 0);
|
||||
|
||||
/* Clear any pending interrupts. */
|
||||
rd32(E1000_ICR);
|
||||
|
Reference in New Issue
Block a user