]> www.infradead.org Git - users/jedix/linux-maple.git/commit
e1000e: do not schedule the Tx queue until ready
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 13 May 2011 07:20:03 +0000 (07:20 +0000)
committerJoe Jin <joe.jin@oracle.com>
Thu, 2 Feb 2012 13:18:55 +0000 (21:18 +0800)
commit53ab75690b0e1b5d57421f9c75ff185cf3c1123b
treea4d0b6662b4dc5e25b082383e69690df81351524
parentaef8a593655be6084d203987a989c4f7f4018433
e1000e: do not schedule the Tx queue until ready

Start the Tx queue when the interface is brought up in e1000e_up() but do
not schedule the queue until link is up as detected in the watchdog task
which sets netif_carrier_on.

Also flush the descriptors and clean the Tx and Rx rings before resetting
the hardware when bringing the interface down otherwise there is a small
window where the watchdog task can be triggered with netif_carrier_off
and the Tx ring not yet empty which causes an additional and unnecessary
reset.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 400484fa65ead1bbc3e86ea79e7505182a31bce1)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/e1000e/netdev.c