aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-05-08 05:48:30 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-08 05:48:30 -0400
commit22f6dacdfcfdc792d068e9c41234808860498d04 (patch)
tree281a7d476f256ea3e2f800177ba685b169cc0540 /drivers/net/igb
parent928f308f556f4943e50c5064b546f47bce301f02 (diff)
parent9b05126baa146fc3f41360164141d4e1b3ea93c4 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: include/net/tcp.h
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/igb_main.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 8784c051707e..ffd731539997 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -2010,7 +2010,7 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
2010 struct e1000_hw *hw = &adapter->hw; 2010 struct e1000_hw *hw = &adapter->hw;
2011 u32 rctl; 2011 u32 rctl;
2012 u32 srrctl = 0; 2012 u32 srrctl = 0;
2013 int i, j; 2013 int i;
2014 2014
2015 rctl = rd32(E1000_RCTL); 2015 rctl = rd32(E1000_RCTL);
2016 2016
@@ -2075,8 +2075,6 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
2075 if (adapter->vfs_allocated_count) { 2075 if (adapter->vfs_allocated_count) {
2076 u32 vmolr; 2076 u32 vmolr;
2077 2077
2078 j = adapter->rx_ring[0].reg_idx;
2079
2080 /* set all queue drop enable bits */ 2078 /* set all queue drop enable bits */
2081 wr32(E1000_QDE, ALL_QUEUES); 2079 wr32(E1000_QDE, ALL_QUEUES);
2082 srrctl |= E1000_SRRCTL_DROP_EN; 2080 srrctl |= E1000_SRRCTL_DROP_EN;
@@ -2084,16 +2082,16 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
2084 /* disable queue 0 to prevent tail write w/o re-config */ 2082 /* disable queue 0 to prevent tail write w/o re-config */
2085 wr32(E1000_RXDCTL(0), 0); 2083 wr32(E1000_RXDCTL(0), 0);
2086 2084
2087 vmolr = rd32(E1000_VMOLR(j)); 2085 vmolr = rd32(E1000_VMOLR(adapter->vfs_allocated_count));
2088 if (rctl & E1000_RCTL_LPE) 2086 if (rctl & E1000_RCTL_LPE)
2089 vmolr |= E1000_VMOLR_LPE; 2087 vmolr |= E1000_VMOLR_LPE;
2090 if (adapter->num_rx_queues > 0) 2088 if (adapter->num_rx_queues > 1)
2091 vmolr |= E1000_VMOLR_RSSE; 2089 vmolr |= E1000_VMOLR_RSSE;
2092 wr32(E1000_VMOLR(j), vmolr); 2090 wr32(E1000_VMOLR(adapter->vfs_allocated_count), vmolr);
2093 } 2091 }
2094 2092
2095 for (i = 0; i < adapter->num_rx_queues; i++) { 2093 for (i = 0; i < adapter->num_rx_queues; i++) {
2096 j = adapter->rx_ring[i].reg_idx; 2094 int j = adapter->rx_ring[i].reg_idx;
2097 wr32(E1000_SRRCTL(j), srrctl); 2095 wr32(E1000_SRRCTL(j), srrctl);
2098 } 2096 }
2099 2097