summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/mellanox/mlx4/eq.c
diff options
context:
space:
mode:
authorEli Cohen <eli@dev.mellanox.co.il>2014-10-23 15:57:26 +0300
committerDavid S. Miller <davem@davemloft.net>2014-10-26 22:46:03 -0400
commit96e4be06cbfcb8c9c2da7c77bacce0e56b581c0b (patch)
treede0c84c82bd7cb6f14343310d759163bdce6988a /drivers/net/ethernet/mellanox/mlx4/eq.c
parentb71e821de50f0ff92f10f33064ee1713e9014158 (diff)
downloadlinux-rt-96e4be06cbfcb8c9c2da7c77bacce0e56b581c0b.tar.gz
net/mlx5_core: Call synchronize_irq() before freeing EQ buffer
After destroying the EQ, the object responsible for generating interrupts, call synchronize_irq() to ensure that any handler routines running on other CPU cores finish execution. Only then free the EQ buffer. This patch solves a very rare case when we get panic on driver unload. 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: Eli Cohen <eli@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/eq.c')
0 files changed, 0 insertions, 0 deletions