]> git.baikalelectronics.ru Git - kernel.git/commit
be2net: fix INTx ISR for interrupt behaviour on BE2
authorSathya Perla <sathya.perla@emulex.com>
Tue, 27 Nov 2012 19:50:02 +0000 (19:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Nov 2012 16:35:08 +0000 (11:35 -0500)
commit72c904173102b955a65c42aa68cf42a116009348
tree2be3b6844b70634bb1853fe6e247d8533c155464
parentf562168383c0a843035d17a85bf6cde2efd2c3ae
be2net: fix INTx ISR for interrupt behaviour on BE2

On BE2 chip, an interrupt may be raised even when EQ is in un-armed state.
As a result be_intx()::events_get() and be_poll:events_get() can race and
notify an EQ wrongly.

Fix this by counting events only in be_poll(). Commit 9e3fbd59f fixes
the same issue in the MSI-x path.

But, on Lancer, INTx can be de-asserted only by notifying num evts. This
is not an issue as the above BE2 behavior doesn't exist/has never been
seen on Lancer.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_main.c