]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll
authorChris Mason <clm@fb.com>
Tue, 15 Apr 2014 22:09:24 +0000 (18:09 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 May 2014 20:20:31 +0000 (13:20 -0700)
commit2ad1de98b6fc6c7d04b00506e77b2aa1f7838c01
treeb2817cd30e28c5f38cda8fbbcedffba9872159ed
parentbee874114a1b87b0860b9cea170536df9d8b2042
mlx4_en: don't use napi_synchronize inside mlx4_en_netpoll

commit c98235cb8584a72e95786e17d695a8e5fafcd766 upstream.

The mlx4 driver is triggering schedules while atomic inside
mlx4_en_netpoll:

spin_lock_irqsave(&cq->lock, flags);
napi_synchronize(&cq->napi);
^^^^^ msleep here
mlx4_en_process_rx_cq(dev, cq, 0);
spin_unlock_irqrestore(&cq->lock, flags);

This was part of a patch by Alexander Guller from Mellanox in 2011,
but it still isn't upstream.

Signed-off-by: Chris Mason <clm@fb.com>
Acked-By: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx4/en_cq.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h