
From: shenhao <shenhao21@huawei.com> driver inclusion category: bugfix bugzilla: NA CVE: NA -------------------------------------------- Function hns3_nic_net_xmit() and functioin hns3_nic_maybe_stop_tx() both get ring pointer from priv->ring[]. According to opinion of community to reduce this kind of operation, this patch adds parameter ring for function hns3_nic_maybe_stop_tx(). Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com> Signed-off-by: shenhao <shenhao21@huawei.com> Reviewed-by: Zhong Zhaohui <zhongzhaohui@huawei.com> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index 7d0c003..09ed7045 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -1296,15 +1296,14 @@ void hns3_shinfo_pack(struct skb_shared_info *shinfo, __u32 *size) size[i] = skb_frag_size(&shinfo->frags[i]); } -static int hns3_nic_maybe_stop_tx(struct net_device *netdev, +static int hns3_nic_maybe_stop_tx(struct hns3_enet_ring *ring, + struct net_device *netdev, struct sk_buff *skb) { struct hns3_nic_priv *priv = netdev_priv(netdev); unsigned int bd_size[HNS3_MAX_TSO_BD_NUM + 1U]; - struct hns3_enet_ring *ring; unsigned int bd_num; - ring = &priv->ring[skb->queue_mapping]; bd_num = hns3_tx_bd_num(skb, bd_size); if (unlikely(bd_num > HNS3_MAX_NON_TSO_BD_NUM)) { @@ -1430,7 +1429,7 @@ netdev_tx_t hns3_nic_net_xmit(struct sk_buff *skb, struct net_device *netdev) /* Prefetch the data used later */ prefetch(skb->data); - ret = hns3_nic_maybe_stop_tx(netdev, skb); + ret = hns3_nic_maybe_stop_tx(ring, netdev, skb); if (unlikely(ret <= 0)) { if (ret == -EBUSY) { u64_stats_update_begin(&ring->syncp); -- 1.8.3