summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_generic.c')
-rw-r--r--net/sched/sch_generic.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 2a9f9e69e..8ee8ab54f 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -88,7 +88,7 @@ int qdisc_restart(struct net_device *dev)
/* 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 @@ static void dev_watchdog(unsigned long arg)
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 @@ void dev_deactivate(struct net_device *dev)
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();
}