• Ben Hutchings's avatar
    sfc: Fix crash in legacy onterrupt handler during ring reallocation · 94dec6a2
    Ben Hutchings authored
    If we are using a legacy interrupt, our IRQ may be shared and our
    interrupt handler may be called even though interrupts are disabled on
    the NIC. When we change ring sizes, we reallocate the event queue and
    the interrupt handler may use an invalid pointer when called for
    another device's interrupt.
    
    Maintain a legacy_irq_enabled flag and test that at the top of the
    interrupt handler.  Note that this problem results from the need to
    work around broken INT_ISR0 reads, and does not affect the legacy
    interrupt handler for Falcon A1.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    94dec6a2
efx.c 69.1 KB