From fbe4d4565badba393a94927e16ae66654a025dca Mon Sep 17 00:00:00 2001 From: Zhi Yong Wu Date: Thu, 2 Jan 2014 13:24:28 +0800 Subject: tun, rfs: fix the incorrect hash value The code incorrectly save the queue index as the hash, so this patch is fixing it with the hash received in the stack receive path. Signed-off-by: Zhi Yong Wu Acked-by: Jason Wang Signed-off-by: David S. Miller diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 3cf0457..09f6662 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -378,8 +378,8 @@ static u16 tun_select_queue(struct net_device *dev, struct sk_buff *skb) if (txq) { e = tun_flow_find(&tun->flows[tun_hashfn(txq)], txq); if (e) { - txq = e->queue_index; tun_flow_save_rps_rxhash(e, txq); + txq = e->queue_index; } else /* use multiply and shift instead of expensive divide */ txq = ((u64)txq * numqueues) >> 32; -- cgit v0.10.2