diff options
| -rw-r--r-- | net/core/dev.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 60c51f765887..e719ed29310f 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -1991,8 +1991,13 @@ static void net_tx_action(struct softirq_action *h) | |||
| 1991 | spin_unlock(root_lock); | 1991 | spin_unlock(root_lock); |
| 1992 | } else { | 1992 | } else { |
| 1993 | if (!test_bit(__QDISC_STATE_DEACTIVATED, | 1993 | if (!test_bit(__QDISC_STATE_DEACTIVATED, |
| 1994 | &q->state)) | 1994 | &q->state)) { |
| 1995 | __netif_reschedule(q); | 1995 | __netif_reschedule(q); |
| 1996 | } else { | ||
| 1997 | smp_mb__before_clear_bit(); | ||
| 1998 | clear_bit(__QDISC_STATE_SCHED, | ||
| 1999 | &q->state); | ||
| 2000 | } | ||
| 1996 | } | 2001 | } |
| 1997 | } | 2002 | } |
| 1998 | } | 2003 | } |
