diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 95a13321f68826f6e741ee2fe834bb44a641005e..2476923b424d88ccffbff4028fec812e620d551c 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -299,6 +299,9 @@ static struct macvtap_queue *macvtap_get_queue(struct net_device *dev, if (!numvtaps) goto out; + if (numvtaps == 1) + goto single; + /* Check if we can use flow to select a queue */ rxq = skb_get_hash(skb); if (rxq) { @@ -316,6 +319,7 @@ static struct macvtap_queue *macvtap_get_queue(struct net_device *dev, goto out; } +single: tap = rcu_dereference(vlan->taps[0]); out: return tap;