• Denys Vlasenko's avatar
    3c59x: Fix shared IRQ handling · 4eed4d8f
    Denys Vlasenko authored
    As its first order of business, boomerang_interrupt() checks whether
    the device really has any pending interrupts. If it does not,
    it does nothing and returns, but it still returns IRQ_HANDLED.
    
    This is wrong: interrupt was not handled, IRQ handlers of other
    devices sharing this IRQ line need to be called.
    
    vortex_interrupt() has it right: it returns IRQ_NONE in this case
    via IRQ_RETVAL(0).
    
    Do the same in boomerang_interrupt().
    Signed-off-by: default avatarDenys Vlasenko <dvlasenk@redhat.com>
    CC: David S. Miller <davem@davemloft.net>
    CC: linux-kernel@vger.kernel.org
    CC: netdev@vger.kernel.org
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4eed4d8f
3c59x.c 103 KB