sfc: Handle serious errors in exactly one interrupt handler
authorSteve Hodgson <shodgson@solarflare.com>
Wed, 28 Apr 2010 09:27:36 +0000 (09:27 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Apr 2010 19:44:32 +0000 (12:44 -0700)
commit6369545945b90daa1a73fca174da9194c398417c
tree1331418d5c6b547eed8154fedceed68585506aa5
parent00bbb4a5344a5f81cf5d48e781e5c0df3e588d17
sfc: Handle serious errors in exactly one interrupt handler

'Fatal' errors set an interrupt flag associated with a specific event
queue; only read the syndrome vector if we see that queue's flag set
(legacy interrupts) or in the interrupt handler for that queue (MSI).

Do not ignore an interrupt if the fatal error flag is set but specific
error flags are all zero.  Even if we don't schedule a reset, we must
respect the queue mask and rearm the appropriate event queues.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sfc/falcon.c
drivers/net/sfc/net_driver.h
drivers/net/sfc/nic.c