patch-2.3.47 linux/net/sched/sch_generic.c

Next file: linux/net/sched/sch_tbf.c
Previous file: linux/net/sched/sch_cbq.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.46/linux/net/sched/sch_generic.c linux/net/sched/sch_generic.c
@@ -88,7 +88,7 @@
 			/* And release queue */
 			spin_unlock(&dev->queue_lock);
 
-			if (!test_bit(LINK_STATE_XOFF, &dev->state)) {
+			if (!netif_queue_stopped(dev)) {
 				if (netdev_nit)
 					dev_queue_xmit_nit(skb, dev);
 
@@ -146,7 +146,7 @@
 
 	spin_lock(&dev->xmit_lock);
 	if (dev->qdisc != &noop_qdisc) {
-		if (test_bit(LINK_STATE_XOFF, &dev->state) &&
+		if (netif_queue_stopped(dev) &&
 		    (jiffies - dev->trans_start) > dev->watchdog_timeo) {
 			printk(KERN_INFO "NETDEV WATCHDOG: %s: transmit timed out\n", dev->name);
 			dev->tx_timeout(dev);
@@ -476,7 +476,7 @@
 
 	dev_watchdog_down(dev);
 
-	if (test_bit(LINK_STATE_SCHED, &dev->state)) {
+	while (test_bit(__LINK_STATE_SCHED, &dev->state)) {
 		current->policy |= SCHED_YIELD;
 		schedule();
 	}

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)