sfc: Work around unreliable legacy interrupt status
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 20 Mar 2009 13:26:41 +0000 (13:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Mar 2009 02:06:55 +0000 (19:06 -0700)
commita9de9a74c69f75e9456cd6b45ecab44ff4c81d04
tree86c231f2a8f831f4c3dc55bdf42a63a08c0df2cf
parentbb145a9e28c32a37f35308bb32180b59e358a3a1
sfc: Work around unreliable legacy interrupt status

In rare cases, reading the legacy interrupt status register can
acknowledge an event queue whose attention flag has not yet been set
in the register.  Until we service this event queue it will not
generate any more interrupts.  Therefore, as a secondary check, poll
the next slot in each active event queue whose flag is not set.

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