diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-19 21:43:50 -0400 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-19 21:43:50 -0400 | 
| commit | fbb5ba92766a0a7803635f053220c325d26def9c (patch) | |
| tree | 4cf6d9ed725b5d1254d4d29f5750c37676173490 /net/sched/sch_teql.c | |
| parent | 4fe1103201057e74f630b1cb8d8d49bd6ce0e666 (diff) | |
| parent | bc8a5397433e4effbaddfa7e462d10b3c060cabb (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  ipv4: make default for INET_LRO consistent with help text
  net: fix skb_seq_read returning wrong offset/length for page frag data
  pkt_sched: gen_estimator: use 64 bit intermediate counters for bps
  be2net: add two new pci device ids to pci device table
  sch_teql: should not dereference skb after ndo_start_xmit()
  tcp: fix MSG_PEEK race check
  Doc: fixed descriptions on /proc/sys/net/core/* and /proc/sys/net/unix/*
  Neterion: *FIFO1_DMA_ERR set twice, should 2nd be *FIFO2_DMA_ERR?
  mv643xx_eth: fix PPC DMA breakage
  bonding: fix link down handling in 802.3ad mode
  bridge: fix initial packet flood if !STP
  bridge: relay bridge multicast pkgs if !STP
  NET: Meth: Fix unsafe mix of irq and non-irq spinlocks.
  mlx4_en: Fix not deleted napi structures
  ipconfig: handle case of delayed DHCP server
  netpoll: don't dereference NULL dev from np
  wimax/i2400m: fix device crash: fix optimization in _roq_queue_update_ws
Diffstat (limited to 'net/sched/sch_teql.c')
| -rw-r--r-- | net/sched/sch_teql.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c index ec697cebb63b..3b6418297231 100644 --- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c | |||
| @@ -303,6 +303,8 @@ restart: | |||
| 303 | switch (teql_resolve(skb, skb_res, slave)) { | 303 | switch (teql_resolve(skb, skb_res, slave)) { | 
| 304 | case 0: | 304 | case 0: | 
| 305 | if (__netif_tx_trylock(slave_txq)) { | 305 | if (__netif_tx_trylock(slave_txq)) { | 
| 306 | unsigned int length = qdisc_pkt_len(skb); | ||
| 307 | |||
| 306 | if (!netif_tx_queue_stopped(slave_txq) && | 308 | if (!netif_tx_queue_stopped(slave_txq) && | 
| 307 | !netif_tx_queue_frozen(slave_txq) && | 309 | !netif_tx_queue_frozen(slave_txq) && | 
| 308 | slave_ops->ndo_start_xmit(skb, slave) == 0) { | 310 | slave_ops->ndo_start_xmit(skb, slave) == 0) { | 
| @@ -310,8 +312,7 @@ restart: | |||
| 310 | master->slaves = NEXT_SLAVE(q); | 312 | master->slaves = NEXT_SLAVE(q); | 
| 311 | netif_wake_queue(dev); | 313 | netif_wake_queue(dev); | 
| 312 | master->stats.tx_packets++; | 314 | master->stats.tx_packets++; | 
| 313 | master->stats.tx_bytes += | 315 | master->stats.tx_bytes += length; | 
| 314 | qdisc_pkt_len(skb); | ||
| 315 | return 0; | 316 | return 0; | 
| 316 | } | 317 | } | 
| 317 | __netif_tx_unlock(slave_txq); | 318 | __netif_tx_unlock(slave_txq); | 
