diff options
Diffstat (limited to 'net/sched/sch_teql.c')
| -rw-r--r-- | net/sched/sch_teql.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c index 537223642b6e..2c35c678563b 100644 --- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c | |||
| @@ -305,10 +305,11 @@ restart: | |||
| 305 | 305 | ||
| 306 | switch (teql_resolve(skb, skb_res, slave)) { | 306 | switch (teql_resolve(skb, skb_res, slave)) { |
| 307 | case 0: | 307 | case 0: |
| 308 | if (netif_tx_trylock(slave)) { | 308 | if (__netif_tx_trylock(slave_txq)) { |
| 309 | if (!__netif_subqueue_stopped(slave, subq) && | 309 | if (!netif_tx_queue_stopped(slave_txq) && |
| 310 | !netif_tx_queue_frozen(slave_txq) && | ||
| 310 | slave->hard_start_xmit(skb, slave) == 0) { | 311 | slave->hard_start_xmit(skb, slave) == 0) { |
| 311 | netif_tx_unlock(slave); | 312 | __netif_tx_unlock(slave_txq); |
| 312 | master->slaves = NEXT_SLAVE(q); | 313 | master->slaves = NEXT_SLAVE(q); |
| 313 | netif_wake_queue(dev); | 314 | netif_wake_queue(dev); |
| 314 | master->stats.tx_packets++; | 315 | master->stats.tx_packets++; |
| @@ -316,7 +317,7 @@ restart: | |||
| 316 | qdisc_pkt_len(skb); | 317 | qdisc_pkt_len(skb); |
| 317 | return 0; | 318 | return 0; |
| 318 | } | 319 | } |
| 319 | netif_tx_unlock(slave); | 320 | __netif_tx_unlock(slave_txq); |
| 320 | } | 321 | } |
| 321 | if (netif_queue_stopped(dev)) | 322 | if (netif_queue_stopped(dev)) |
| 322 | busy = 1; | 323 | busy = 1; |
