diff --git a/[refs] b/[refs] index 99eceee7a5cb..0bbdddf56ce4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 13601cd8e44aab332cedff1d6dc10786ec890b7b +refs/heads/master: 96d203169d1d851ac1468f7d4459a09581be364c diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 819f0175bdc9..8d133802372b 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -1805,14 +1805,12 @@ int dev_queue_xmit(struct sk_buff *skb) spin_lock(root_lock); if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) { - spin_unlock(root_lock); + kfree_skb(skb); rc = NET_XMIT_DROP; - goto out_kfree_skb; + } else { + rc = qdisc_enqueue_root(skb, q); + qdisc_run(q); } - - rc = qdisc_enqueue_root(skb, q); - qdisc_run(q); - spin_unlock(root_lock); goto out;