• Jesse Brandeburg's avatar
    e1000: fix virtualization bug · e151a60a
    Jesse Brandeburg authored
    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: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e151a60a
e1000_main.c 135 KB