@@ -300,9 +300,9 @@ static void fill_tso_desc(struct hnae_ring *ring, void *priv,
300300 mtu );
301301}
302302
303- int hns_nic_net_xmit_hw (struct net_device * ndev ,
304- struct sk_buff * skb ,
305- struct hns_nic_ring_data * ring_data )
303+ netdev_tx_t hns_nic_net_xmit_hw (struct net_device * ndev ,
304+ struct sk_buff * skb ,
305+ struct hns_nic_ring_data * ring_data )
306306{
307307 struct hns_nic_priv * priv = netdev_priv (ndev );
308308 struct hnae_ring * ring = ring_data -> ring ;
@@ -361,6 +361,10 @@ int hns_nic_net_xmit_hw(struct net_device *ndev,
361361 dev_queue = netdev_get_tx_queue (ndev , skb -> queue_mapping );
362362 netdev_tx_sent_queue (dev_queue , skb -> len );
363363
364+ netif_trans_update (ndev );
365+ ndev -> stats .tx_bytes += skb -> len ;
366+ ndev -> stats .tx_packets ++ ;
367+
364368 wmb (); /* commit all data before submit */
365369 assert (skb -> queue_mapping < priv -> ae_handle -> q_num );
366370 hnae_queue_xmit (priv -> ae_handle -> qs [skb -> queue_mapping ], buf_num );
@@ -1469,17 +1473,11 @@ static netdev_tx_t hns_nic_net_xmit(struct sk_buff *skb,
14691473 struct net_device * ndev )
14701474{
14711475 struct hns_nic_priv * priv = netdev_priv (ndev );
1472- int ret ;
14731476
14741477 assert (skb -> queue_mapping < ndev -> ae_handle -> q_num );
1475- ret = hns_nic_net_xmit_hw (ndev , skb ,
1476- & tx_ring_data (priv , skb -> queue_mapping ));
1477- if (ret == NETDEV_TX_OK ) {
1478- netif_trans_update (ndev );
1479- ndev -> stats .tx_bytes += skb -> len ;
1480- ndev -> stats .tx_packets ++ ;
1481- }
1482- return (netdev_tx_t )ret ;
1478+
1479+ return hns_nic_net_xmit_hw (ndev , skb ,
1480+ & tx_ring_data (priv , skb -> queue_mapping ));
14831481}
14841482
14851483static void hns_nic_drop_rx_fetch (struct hns_nic_ring_data * ring_data ,
0 commit comments