From a9847a070379b3068c9232885de4380be3767cd5 Mon Sep 17 00:00:00 2001 From: shenhao Date: Sun, 26 Apr 2020 20:47:48 +0800 Subject: [PATCH] net: hns3: add one parameter for function hns3_nic_maybe_stop_tx() 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 Signed-off-by: shenhao Reviewed-by: Zhong Zhaohui Signed-off-by: Yang Yingliang --- 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 7d0c003414eb..09ed7045a2fa 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); -- GitLab