Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdaff1ce authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller
Browse files

ixgbe: skb_record_rx_queue should record rx queue instead of vector



currently ixgbe_receive_skb is passing the vector index to
skb_record_rx_queue instead of the queue index.  This patch changes that so
that the ring index is passed instead.

Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7a921c93
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -461,6 +461,7 @@ static int __ixgbe_notify_dca(struct device *dev, void *data)
 **/
 **/
static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
                              struct sk_buff *skb, u8 status,
                              struct sk_buff *skb, u8 status,
                              struct ixgbe_ring *ring,
                              union ixgbe_adv_rx_desc *rx_desc)
                              union ixgbe_adv_rx_desc *rx_desc)
{
{
	struct ixgbe_adapter *adapter = q_vector->adapter;
	struct ixgbe_adapter *adapter = q_vector->adapter;
@@ -468,7 +469,7 @@ static void ixgbe_receive_skb(struct ixgbe_q_vector *q_vector,
	bool is_vlan = (status & IXGBE_RXD_STAT_VP);
	bool is_vlan = (status & IXGBE_RXD_STAT_VP);
	u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);
	u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);


	skb_record_rx_queue(skb, q_vector->v_idx);
	skb_record_rx_queue(skb, ring->queue_index);
	if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) {
	if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) {
		if (adapter->vlgrp && is_vlan && (tag != 0))
		if (adapter->vlgrp && is_vlan && (tag != 0))
			vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
			vlan_gro_receive(napi, adapter->vlgrp, tag, skb);
@@ -782,7 +783,7 @@ static bool ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
		total_rx_packets++;
		total_rx_packets++;


		skb->protocol = eth_type_trans(skb, adapter->netdev);
		skb->protocol = eth_type_trans(skb, adapter->netdev);
		ixgbe_receive_skb(q_vector, skb, staterr, rx_desc);
		ixgbe_receive_skb(q_vector, skb, staterr, rx_ring, rx_desc);


next_desc:
next_desc:
		rx_desc->wb.upper.status_error = 0;
		rx_desc->wb.upper.status_error = 0;