aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/smsc9420.h
diff options
context:
space:
mode:
authorDavid Dillow <dave@thedillows.org>2009-05-22 15:29:34 +0000
committerDavid S. Miller <davem@davemloft.net>2009-05-25 22:55:26 -0700
commitf11a377b3f4e897d11f0e8d1fc688667e2f19708 (patch)
tree80a6a29154a1af059e6b8d917b7858d6c897b906 /drivers/net/smsc9420.h
parentc80a5cdfc5ca6533cb893154f546370da1fdb8f0 (diff)
r8169: avoid losing MSI interrupts
The 8169 chip only generates MSI interrupts when all enabled event sources are quiescent and one or more sources transition to active. If not all of the active events are acknowledged, or a new event becomes active while the existing ones are cleared in the handler, we will not see a new interrupt. The current interrupt handler masks off the Rx and Tx events once the NAPI handler has been scheduled, which opens a race window in which we can get another Rx or Tx event and never ACK'ing it, stopping all activity until the link is reset (ifconfig down/up). Fix this by always ACK'ing all event sources, and loop in the handler until we have all sources quiescent. Signed-off-by: David Dillow <dave@thedillows.org> Tested-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/smsc9420.h')
0 files changed, 0 insertions, 0 deletions