IPoIB: Get rid of useless test of queue length
In neigh_add_path(), the queue of delayed packets can never be full, because the queue is always freshly created and cannot be found by any other code path. In fact, the test of the queue length is worse than useless: if somehow the test ever triggered and path_rec_start() also failed, then dev_kfree_skb_any() will be called twice on the same skb. Fix this by deleting the useless test. Pointed out by Michael S. Tsirkin <mst@mellanox.co.il>. Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
e10e271bfd
commit
bfef73fa78
|
@ -519,12 +519,7 @@ static void neigh_add_path(struct sk_buff *skb, struct net_device *dev)
|
|||
be32_to_cpup((__be32 *) skb->dst->neighbour->ha));
|
||||
} else {
|
||||
neigh->ah = NULL;
|
||||
if (skb_queue_len(&neigh->queue) < IPOIB_MAX_PATH_REC_QUEUE) {
|
||||
__skb_queue_tail(&neigh->queue, skb);
|
||||
} else {
|
||||
++priv->stats.tx_dropped;
|
||||
dev_kfree_skb_any(skb);
|
||||
}
|
||||
__skb_queue_tail(&neigh->queue, skb);
|
||||
|
||||
if (!path->query && path_rec_start(dev, path))
|
||||
goto err;
|
||||
|
|
Loading…
Reference in New Issue