OSDN Git Service

net: hns3: fix the TX/RX ring.queue_index in hns3_ring_get_cfg
authorLipeng <lipeng321@huawei.com>
Mon, 23 Oct 2017 11:51:05 +0000 (19:51 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Oct 2017 00:16:42 +0000 (01:16 +0100)
The interface hns3_ring_get_cfg only update TX ring queue_index,
but do not update RX ring queue_index. This patch fixes it.

Fixes: 76ad4f0 (net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC)

Signed-off-by: Lipeng <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c

index 58aa2dd..14de0f7 100644 (file)
@@ -2506,16 +2506,16 @@ static int hns3_ring_get_cfg(struct hnae3_queue *q, struct hns3_nic_priv *priv,
 
        if (ring_type == HNAE3_RING_TYPE_TX) {
                ring_data[q->tqp_index].ring = ring;
+               ring_data[q->tqp_index].queue_index = q->tqp_index;
                ring->io_base = (u8 __iomem *)q->io_base + HNS3_TX_REG_OFFSET;
        } else {
                ring_data[q->tqp_index + queue_num].ring = ring;
+               ring_data[q->tqp_index + queue_num].queue_index = q->tqp_index;
                ring->io_base = q->io_base;
        }
 
        hnae_set_bit(ring->flag, HNAE3_RING_TYPE_B, ring_type);
 
-       ring_data[q->tqp_index].queue_index = q->tqp_index;
-
        ring->tqp = q;
        ring->desc = NULL;
        ring->desc_cb = NULL;