diff options
author | Sathya Perla <sathya.perla@emulex.com> | 2012-11-23 00:27:18 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-23 19:26:08 (GMT) |
commit | 0b545a62915aa635a5d41f64cbf3b7650c132a8d (patch) | |
tree | 77a24000819fa306dc448419642dbd52eda0301a /drivers/net/phy/micrel.c | |
parent | 9ce99cf6dc011a98ef8d64638d4353501de6f6c9 (diff) | |
download | linux-0b545a62915aa635a5d41f64cbf3b7650c132a8d.tar.xz |
be2net: fix a possible events_get() race on BE2
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: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/micrel.c')
0 files changed, 0 insertions, 0 deletions