]> git.baikalelectronics.ru Git - kernel.git/commit
e1000e: fix bug in restart queue logic
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Thu, 16 Apr 2009 16:59:28 +0000 (16:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Apr 2009 08:09:58 +0000 (01:09 -0700)
commit8e1efd3796e4a37ce4744a8a780bf7abd0f249b3
treee1750256f0c4259964df467cecd2e9448052d083
parente9e1b47bae826f452e53986cfea1cd6e252b4156
e1000e: fix bug in restart queue logic

If the e1000e transmit cleanup inner loop exited early, then
cleaned might not be true.  This could cause tx hangs or other
badness.  Use count to track the total number of descriptors
cleaned instead of basing a tx queue restart off of a temporary
working state variable.

This code now makes the flow the same for e1000/e1000e/igb/ixgbe

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/netdev.c