diff --git a/[refs] b/[refs] index c84b7d14b65d..79183dac2eac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2a95388353b74a70b9c43c55a781faa92e1a14f1 +refs/heads/master: baefa31db2f2b13a05d1b81bdf2d20d487f58b0a diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index bda6d004f9f0..c0946cb2b354 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -2818,8 +2818,10 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb, if (unlikely(tcpu != next_cpu) && (tcpu == RPS_NO_CPU || !cpu_online(tcpu) || ((int)(per_cpu(softnet_data, tcpu).input_queue_head - - rflow->last_qtail)) >= 0)) + rflow->last_qtail)) >= 0)) { + tcpu = next_cpu; rflow = set_rps_cpu(dev, skb, rflow, next_cpu); + } if (tcpu != RPS_NO_CPU && cpu_online(tcpu)) { *rflowp = rflow;