]> www.infradead.org Git - users/jedix/linux-maple.git/commit
be2net: fix INTx ISR for interrupt behaviour on BE2
authorSathya Perla <sathya.perla@emulex.com>
Fri, 7 Dec 2012 14:25:55 +0000 (09:25 -0500)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Mon, 17 Dec 2012 08:42:42 +0000 (00:42 -0800)
commitdcfd89e1e4a28736a66f6359ab9a5c130ebeb503
tree2584645b7dc9ed88404b60fed402d326ed12a210
parent3c37f170b70476f42301b02bf699d82e28052a1a
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 0b545a629 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/benet/be_main.c