diff options
author | Jakub Kicinski <kuba@kernel.org> | 2020-12-04 02:42:13 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-12-04 02:44:09 +0300 |
commit | 55fd59b003f6e8fd88cf16590e79823d7ccf3026 (patch) | |
tree | f23b2225f1a00b80632d612428708d5a57ad330b /include/linux/netdevice.h | |
parent | a4390e966f952510808b10ce7ae2a7dd2a08c0e5 (diff) | |
parent | bbe2ba04c5a92a49db8a42c850a5a2f6481e47eb (diff) | |
download | linux-55fd59b003f6e8fd88cf16590e79823d7ccf3026.tar.xz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Conflicts:
drivers/net/ethernet/ibm/ibmvnic.c
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 2e077e289e75..7f85c23d52ab 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2838,9 +2838,21 @@ u16 dev_pick_tx_zero(struct net_device *dev, struct sk_buff *skb, struct net_device *sb_dev); u16 dev_pick_tx_cpu_id(struct net_device *dev, struct sk_buff *skb, struct net_device *sb_dev); + int dev_queue_xmit(struct sk_buff *skb); int dev_queue_xmit_accel(struct sk_buff *skb, struct net_device *sb_dev); -int dev_direct_xmit(struct sk_buff *skb, u16 queue_id); +int __dev_direct_xmit(struct sk_buff *skb, u16 queue_id); + +static inline int dev_direct_xmit(struct sk_buff *skb, u16 queue_id) +{ + int ret; + + ret = __dev_direct_xmit(skb, queue_id); + if (!dev_xmit_complete(ret)) + kfree_skb(skb); + return ret; +} + int register_netdevice(struct net_device *dev); void unregister_netdevice_queue(struct net_device *dev, struct list_head *head); void unregister_netdevice_many(struct list_head *head); |