linux/drivers/net/e1000
Jesse Brandeburg e151a60ad1 e1000: fix virtualization bug
a recent fix to e1000 (commit 15b2bee2) caused KVM/QEMU/VMware based
virtualized e1000 interfaces to begin failing when resetting.

This is because the driver in a virtual environment doesn't
get to run instructions *AT ALL* when an interrupt is asserted.
The interrupt code runs immediately and this recent bug fix
allows an interrupt to be possible when the interrupt handler
will reject it (due to the new code), when being called from
any path in the driver that holds the E1000_RESETTING flag.

the driver should use the __E1000_DOWN flag instead of the
__E1000_RESETTING flag to prevent interrupt execution
while reconfiguring the hardware.

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>
2009-05-04 21:28:13 -07:00
..
e1000.h e1000: drop lltx, remove unnecessary lock 2009-01-21 14:42:47 -08:00
e1000_ethtool.c e1000: Use device_set_wakeup_enable 2008-11-16 01:35:56 -08:00
e1000_hw.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
e1000_hw.h e1000: convert uint16_t style integers to u16 2008-04-16 20:41:45 -04:00
e1000_main.c e1000: fix virtualization bug 2009-05-04 21:28:13 -07:00
e1000_osdep.h e1000: Remove spaces after casts and function names 2008-07-22 19:38:52 -04:00
e1000_param.c e1000: fix stack size 2008-08-27 13:56:27 -07:00
Makefile