Loading drivers/net/wan/dlci.c +4 −2 Original line number Diff line number Diff line Loading @@ -192,8 +192,10 @@ static netdev_tx_t dlci_transmit(struct sk_buff *skb, struct net_device *dev) { struct dlci_local *dlp = netdev_priv(dev); if (skb) netdev_start_xmit(skb, dlp->slave); if (skb) { struct netdev_queue *txq = skb_get_tx_queue(dev, skb); netdev_start_xmit(skb, dlp->slave, txq); } return NETDEV_TX_OK; } Loading include/linux/netdevice.h +8 −2 Original line number Diff line number Diff line Loading @@ -3437,11 +3437,17 @@ static inline netdev_tx_t __netdev_start_xmit(const struct net_device_ops *ops, return ops->ndo_start_xmit(skb, dev); } static inline netdev_tx_t netdev_start_xmit(struct sk_buff *skb, struct net_device *dev) static inline netdev_tx_t netdev_start_xmit(struct sk_buff *skb, struct net_device *dev, struct netdev_queue *txq) { const struct net_device_ops *ops = dev->netdev_ops; int rc; return __netdev_start_xmit(ops, skb, dev); rc = __netdev_start_xmit(ops, skb, dev); if (rc == NETDEV_TX_OK) txq_trans_update(txq); return rc; } int netdev_class_create_file_ns(struct class_attribute *class_attr, Loading net/core/dev.c +2 −5 Original line number Diff line number Diff line Loading @@ -2666,10 +2666,8 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, skb_len = skb->len; trace_net_dev_start_xmit(skb, dev); rc = netdev_start_xmit(skb, dev); rc = netdev_start_xmit(skb, dev, txq); trace_net_dev_xmit(skb, rc, dev, skb_len); if (rc == NETDEV_TX_OK) txq_trans_update(txq); return rc; } Loading @@ -2685,7 +2683,7 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, skb_len = nskb->len; trace_net_dev_start_xmit(nskb, dev); rc = netdev_start_xmit(nskb, dev); rc = netdev_start_xmit(nskb, dev, txq); trace_net_dev_xmit(nskb, rc, dev, skb_len); if (unlikely(rc != NETDEV_TX_OK)) { if (rc & ~NETDEV_TX_MASK) Loading @@ -2694,7 +2692,6 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, skb->next = nskb; return rc; } txq_trans_update(txq); if (unlikely(netif_xmit_stopped(txq) && skb->next)) return NETDEV_TX_BUSY; } while (skb->next); Loading net/core/netpoll.c +1 −3 Original line number Diff line number Diff line Loading @@ -91,9 +91,7 @@ static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev, skb->vlan_tci = 0; } status = netdev_start_xmit(skb, dev); if (status == NETDEV_TX_OK) txq_trans_update(txq); status = netdev_start_xmit(skb, dev, txq); out: return status; Loading net/core/pktgen.c +1 −2 Original line number Diff line number Diff line Loading @@ -3335,11 +3335,10 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev) goto unlock; } atomic_inc(&(pkt_dev->skb->users)); ret = netdev_start_xmit(pkt_dev->skb, odev); ret = netdev_start_xmit(pkt_dev->skb, odev, txq); switch (ret) { case NETDEV_TX_OK: txq_trans_update(txq); pkt_dev->last_ok = 1; pkt_dev->sofar++; pkt_dev->seq_num++; Loading Loading
drivers/net/wan/dlci.c +4 −2 Original line number Diff line number Diff line Loading @@ -192,8 +192,10 @@ static netdev_tx_t dlci_transmit(struct sk_buff *skb, struct net_device *dev) { struct dlci_local *dlp = netdev_priv(dev); if (skb) netdev_start_xmit(skb, dlp->slave); if (skb) { struct netdev_queue *txq = skb_get_tx_queue(dev, skb); netdev_start_xmit(skb, dlp->slave, txq); } return NETDEV_TX_OK; } Loading
include/linux/netdevice.h +8 −2 Original line number Diff line number Diff line Loading @@ -3437,11 +3437,17 @@ static inline netdev_tx_t __netdev_start_xmit(const struct net_device_ops *ops, return ops->ndo_start_xmit(skb, dev); } static inline netdev_tx_t netdev_start_xmit(struct sk_buff *skb, struct net_device *dev) static inline netdev_tx_t netdev_start_xmit(struct sk_buff *skb, struct net_device *dev, struct netdev_queue *txq) { const struct net_device_ops *ops = dev->netdev_ops; int rc; return __netdev_start_xmit(ops, skb, dev); rc = __netdev_start_xmit(ops, skb, dev); if (rc == NETDEV_TX_OK) txq_trans_update(txq); return rc; } int netdev_class_create_file_ns(struct class_attribute *class_attr, Loading
net/core/dev.c +2 −5 Original line number Diff line number Diff line Loading @@ -2666,10 +2666,8 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, skb_len = skb->len; trace_net_dev_start_xmit(skb, dev); rc = netdev_start_xmit(skb, dev); rc = netdev_start_xmit(skb, dev, txq); trace_net_dev_xmit(skb, rc, dev, skb_len); if (rc == NETDEV_TX_OK) txq_trans_update(txq); return rc; } Loading @@ -2685,7 +2683,7 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, skb_len = nskb->len; trace_net_dev_start_xmit(nskb, dev); rc = netdev_start_xmit(nskb, dev); rc = netdev_start_xmit(nskb, dev, txq); trace_net_dev_xmit(nskb, rc, dev, skb_len); if (unlikely(rc != NETDEV_TX_OK)) { if (rc & ~NETDEV_TX_MASK) Loading @@ -2694,7 +2692,6 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, skb->next = nskb; return rc; } txq_trans_update(txq); if (unlikely(netif_xmit_stopped(txq) && skb->next)) return NETDEV_TX_BUSY; } while (skb->next); Loading
net/core/netpoll.c +1 −3 Original line number Diff line number Diff line Loading @@ -91,9 +91,7 @@ static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev, skb->vlan_tci = 0; } status = netdev_start_xmit(skb, dev); if (status == NETDEV_TX_OK) txq_trans_update(txq); status = netdev_start_xmit(skb, dev, txq); out: return status; Loading
net/core/pktgen.c +1 −2 Original line number Diff line number Diff line Loading @@ -3335,11 +3335,10 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev) goto unlock; } atomic_inc(&(pkt_dev->skb->users)); ret = netdev_start_xmit(pkt_dev->skb, odev); ret = netdev_start_xmit(pkt_dev->skb, odev, txq); switch (ret) { case NETDEV_TX_OK: txq_trans_update(txq); pkt_dev->last_ok = 1; pkt_dev->sofar++; pkt_dev->seq_num++; Loading