diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2010-11-16 22:27:10 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2010-11-16 22:27:10 -0500 |
commit | 2274543f15133165b855b9a4a1503b2c1268c6cf (patch) | |
tree | 4cec26b62de2d001998319850cdd332e4f5019eb /drivers/net/ixgbe | |
parent | d0759ebb051972f8557a19aa13cf02fc314856e9 (diff) |
ixgbe: populate the ring->q_vector pointer during ring mapping
The q_vector back pointer was not being set in the rings so it would not
have been possible to determine the parent q_vector of the ring.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 0d6422c59723..38dd85340352 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -2113,18 +2113,22 @@ static inline void map_vector_to_rxq(struct ixgbe_adapter *a, int v_idx, | |||
2113 | int r_idx) | 2113 | int r_idx) |
2114 | { | 2114 | { |
2115 | struct ixgbe_q_vector *q_vector = a->q_vector[v_idx]; | 2115 | struct ixgbe_q_vector *q_vector = a->q_vector[v_idx]; |
2116 | struct ixgbe_ring *rx_ring = a->rx_ring[r_idx]; | ||
2116 | 2117 | ||
2117 | set_bit(r_idx, q_vector->rxr_idx); | 2118 | set_bit(r_idx, q_vector->rxr_idx); |
2118 | q_vector->rxr_count++; | 2119 | q_vector->rxr_count++; |
2120 | rx_ring->q_vector = q_vector; | ||
2119 | } | 2121 | } |
2120 | 2122 | ||
2121 | static inline void map_vector_to_txq(struct ixgbe_adapter *a, int v_idx, | 2123 | static inline void map_vector_to_txq(struct ixgbe_adapter *a, int v_idx, |
2122 | int t_idx) | 2124 | int t_idx) |
2123 | { | 2125 | { |
2124 | struct ixgbe_q_vector *q_vector = a->q_vector[v_idx]; | 2126 | struct ixgbe_q_vector *q_vector = a->q_vector[v_idx]; |
2127 | struct ixgbe_ring *tx_ring = a->tx_ring[t_idx]; | ||
2125 | 2128 | ||
2126 | set_bit(t_idx, q_vector->txr_idx); | 2129 | set_bit(t_idx, q_vector->txr_idx); |
2127 | q_vector->txr_count++; | 2130 | q_vector->txr_count++; |
2131 | tx_ring->q_vector = q_vector; | ||
2128 | } | 2132 | } |
2129 | 2133 | ||
2130 | /** | 2134 | /** |