Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net

Pull in bug fixes from 'net' tree for the merge window.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2019-09-17 23:51:10 +02:00
commit 1bab8d4c48
16 changed files with 83 additions and 23 deletions

View file

@ -3467,18 +3467,22 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
qdisc_calculate_pkt_len(skb, q);
if (q->flags & TCQ_F_NOLOCK) {
if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) {
__qdisc_drop(skb, &to_free);
rc = NET_XMIT_DROP;
} else if ((q->flags & TCQ_F_CAN_BYPASS) && q->empty &&
qdisc_run_begin(q)) {
if ((q->flags & TCQ_F_CAN_BYPASS) && q->empty &&
qdisc_run_begin(q)) {
if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED,
&q->state))) {
__qdisc_drop(skb, &to_free);
rc = NET_XMIT_DROP;
goto end_run;
}
qdisc_bstats_cpu_update(q, skb);
rc = NET_XMIT_SUCCESS;
if (sch_direct_xmit(skb, q, dev, txq, NULL, true))
__qdisc_run(q);
end_run:
qdisc_run_end(q);
rc = NET_XMIT_SUCCESS;
} else {
rc = q->enqueue(skb, q, &to_free) & NET_XMIT_MASK;
qdisc_run(q);