diff options
| author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-05-23 23:18:40 +0100 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-05-23 23:18:40 +0100 |
| commit | fc05505b77f7900a1bb74fb3f3a4343dee4265a4 (patch) | |
| tree | 6517919cb60bd9465078512cacbefd8c77f94b76 /net/core/dev.c | |
| parent | a2ab67fae1ab9226679495a8d260f4e6555efc5f (diff) | |
| parent | 11c79740d3c03cb81f84e98cf2e2dbd8d9bb53cd (diff) | |
Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 308a7d0c277f..e2e9e4af3ace 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1735,11 +1735,12 @@ u16 skb_tx_hash(const struct net_device *dev, const struct sk_buff *skb) { u32 hash; - if (skb_rx_queue_recorded(skb)) { - hash = skb_get_rx_queue(skb); - } else if (skb->sk && skb->sk->sk_hash) { + if (skb_rx_queue_recorded(skb)) + return skb_get_rx_queue(skb) % dev->real_num_tx_queues; + + if (skb->sk && skb->sk->sk_hash) hash = skb->sk->sk_hash; - } else + else hash = skb->protocol; hash = jhash_1word(hash, skb_tx_hashrnd); |
