]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: Extend the legacy interrupt workarounds
authorSteve Hodgson <shodgson@solarflare.com>
Wed, 28 Apr 2010 09:28:27 +0000 (09:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Apr 2010 19:44:35 +0000 (12:44 -0700)
commitb668b0f2e8f4ec5c411f2d6372b8fec9ecb5aba6
tree706d46fdd10943ba86d4eda2ff210bc506997144
parentc99cbbec4f3dc62ffd091521505dcb8463f88582
sfc: Extend the legacy interrupt workarounds

Siena has two problems with legacy interrupts:
  1. There is no synchronisation between the ISR read completion,
     and the interrupt deassert message.
  2. A downstream read at the "wrong" moment can return 0, and
     suppress generating the next interrupt.

Falcon should suffer from both of these, and it appears it does.
Enable EFX_WORKAROUND_15783 on Falcon as well.

Also, when we see queues == 0, ensure we always schedule or rearm
every event queue.

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