• Eli Cohen's avatar
    net/mlx4_core: Call synchronize_irq() before freeing EQ buffer · bf1bac5b
    Eli Cohen authored
    After moving the EQ ownership to software effectively destroying it, call
    synchronize_irq() to ensure that any handler routines running on other CPU
    cores finish execution. Only then free the EQ buffer.
    The same thing is done when we destroy a CQ which is one of the sources
    generating interrupts. In the case of CQ we want to avoid completion handlers
    on a CQ that was destroyed. In the case we do the same to avoid receiving
    asynchronous events after the EQ has been destroyed and its buffers freed.
    Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bf1bac5b
eq.c 39.7 KB