• B
    e1000e: Remove Other from EIAC · 745d0bd3
    Benjamin Poirier 提交于
    It was reported that emulated e1000e devices in vmware esxi 6.5 Build
    7526125 do not link up after commit 4aea7a5c ("e1000e: Avoid receiver
    overrun interrupt bursts", v4.15-rc1). Some tracing shows that after
    e1000e_trigger_lsc() is called, ICR reads out as 0x0 in e1000_msix_other()
    on emulated e1000e devices. In comparison, on real e1000e 82574 hardware,
    icr=0x80000004 (_INT_ASSERTED | _LSC) in the same situation.
    
    Some experimentation showed that this flaw in vmware e1000e emulation can
    be worked around by not setting Other in EIAC. This is how it was before
    16ecba59 ("e1000e: Do not read ICR in Other interrupt", v4.5-rc1).
    
    Fixes: 4aea7a5c ("e1000e: Avoid receiver overrun interrupt bursts")
    Signed-off-by: NBenjamin Poirier <bpoirier@suse.com>
    Tested-by: NAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
    745d0bd3
netdev.c 214.0 KB