Message ID | 201008271516.11295.arnd@arndb.de |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 3b1c54a..37bde69 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -506,8 +506,13 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, rcu_read_lock_bh(); vlan = rcu_dereference(q->vlan); - if (vlan) - macvlan_start_xmit(skb, vlan->dev); + if (vlan) { + err = macvlan_start_xmit(skb, vlan->dev); + if (err == NETDEV_TX_BUSY) { + kfree_skb(skb); + count = -EAGAIN; + } + } else kfree_skb(skb); rcu_read_unlock_bh();