Skip to content
  • Sathya Perla's avatar
    be2net: fix a possible events_get() race on BE2 · 0b545a62
    Sathya Perla authored
    
    
    On BE2 chip, an interrupt being raised even when EQ is in un-armed state has
    been observed a few times.  This is not expected and has never been
    observed on BE3/Lancer chips.
    
    As a consequence, be_msix()::events_get() and be_poll()::events_get()
    can race and notify an EQ wrongly causing a CEV UE. The other possible
    side-effect would be traffic stalling because after notifying EQ,
    napi_schedule() is ignored as NAPI is already running.
    
    This patch fixes this issue by counting events only in be_poll().
    
    Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0b545a62