]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC 223198:
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 29 Jun 2011 16:16:59 +0000 (16:16 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 29 Jun 2011 16:16:59 +0000 (16:16 +0000)
commitd99e0cc37754c2f0753e2c0158bf598ec2ce6b16
tree81dab97ba8ac93bec1d1cd37ae96d1764a7b1430
parent22e4be7019aee8395e439efe7633cef3a7560ec8
MFC 223198:
- Use a dedicated task to handle deferred transmits from the if_transmit
  method instead of reusing the existing per-queue interrupt task.
  Reusing the per-queue interrupt task could result in both an interrupt
  thread and the taskqueue thread trying to handle received packets on a
  single queue resulting in out-of-order packet processing.
- Don't define igb_start() at all on 8.0 and where if_transmit is used.
  Replace last remaining call to igb_start() with a loop to kick off
  transmit on each queue instead.
- Call ether_ifdetach() earlier in igb_detach().
- Drain tasks and free taskqueues during igb_detach().

git-svn-id: svn://svn.freebsd.org/base/stable/8@223675 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/e1000/if_igb.c
sys/dev/e1000/if_igb.h