Skip to contentSkip to conversation

Update sparse tree with "NET_SCHED: Fix fallout from dev->qdisc RCU change" patch from 2.6.18.8

PATCH New S.Çağlar Onur 1 participant 1 message Jan 17, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 5/7 Update sparse tree with "NET_SCHED: Fix fallout from dev->qdisc RCU change" patch from 2.6.18.8

Update sparse tree with "NET_SCHED: Fix fallout from dev->qdisc RCU change" [1] patch from 2.6.18.8

[1] http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.18.y.git;a=commitdiff;h=5f804c752ba4e4e85457bf0e4da9f8521720328b#patch1

linux-2.6-xen-sparse/net/core/dev.c +8 -6
@@ -1528,14 +1528,16 @@ gso:
 	if (q->enqueue) {
 		/* Grab device queue */
 		spin_lock(&dev->queue_lock);
+		q = dev->qdisc;
+		if (q->enqueue) {
+			rc = q->enqueue(skb, q);
+			qdisc_run(dev);
+			spin_unlock(&dev->queue_lock);
 
-		rc = q->enqueue(skb, q);
-
-		qdisc_run(dev);
-
+			rc = rc == NET_XMIT_BYPASS ? NET_XMIT_SUCCESS : rc;
+			goto out;
+		}
 		spin_unlock(&dev->queue_lock);
-		rc = rc == NET_XMIT_BYPASS ? NET_XMIT_SUCCESS : rc;
-		goto out;
 	}
 
 	/* The device has no queue. Common case for software devices:
Signature · 4 lines
S.Çağlar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!